问题标签 [multiple-processes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
698 浏览

python - 如何并行启动多个计算,同时在第一个返回时将它们全部停止?[Python]

如何并行启动多个计算,同时在第一个返回时将它们全部停止?

我想到的应用如下:计算某个值有多种方法;每种方法所花费的时间取决于函数参数;通过并行启动计算,每次都会自动“选择”最快的计算,并停止其他计算。

现在,有一些“细节”让这个问题变得更加困难:

  • 要计算的函数的参数包括函数(从数据点计算;它们不是顶级模块函数)。实际上,计算是两个函数的卷积。我不确定如何将此类函数参数传递给子进程(它们不可选择)。
  • 我无法访问所有计算代码:一些计算是由 Scipy 在内部完成的(可能通过 Fortran 或 C 代码)。我不确定线程​​是否提供类似于可以发送到进程的终止信号的东西。

这是Python可以相对轻松地完成的事情吗?

0 投票
2 回答
852 浏览

sqlite - 读写器进程 SQLite

我有两个过程:

  1. 每秒写入两个表(ish)
  2. 定期从所述表中读取

我知道使用 SQLite,任何写入都会锁定整个数据库,因此有时第二个进程可能会因数据库锁定而失败。

您有什么建议可以完全消除这两个进程接触同一个数据库的需要吗?例如,我可以将正在写入的数据库中的数据自动传输到第二个只读数据库吗?

谢谢 :)

0 投票
2 回答
54 浏览

time - 并行进程的时序控制

我如何控制两个进程在不同的终端窗口中交替运行。例如,我在 11:59 在单独的终端窗口上运行每个代码,它们都等待时间为 12:00。此时进程一开始执行,进程二等待 10 秒。然后他们切换,处理两个执行和处理一个等待。以这种方式,他们轮流直到过程完成。

0 投票
6 回答
16136 浏览

java - python和java之间的IPC(进程间通信)

首先,稍微解释一下为什么我首先要问这个问题:我正在编写一个 python 程序(带有 wxPython gui),它需要从 python 调用 Java AWT 程序并从中提取数据。我在 Windows 上有一个正在进行的工作解决方案。只要我无头运行 Java 应用程序,我在 OSX 上也有一个进程内解决方案。不幸的是,我没有找到合理的解决方案来在 OSX 上的同一进程中运行两个 GUI,因为 AWT 和 WX 都想要第一个线程并且不能共享 wx 消息循环。

我想做的是在与我的 Python 程序不同的进程中启动一个 Java 程序,并建立一个管道或队列或用于来回传递数据(特别是字节数组)的东西。

我非常感谢任何建议,甚至是朝着正确方向轻推,因为我对 IPC 的经验很少。

0 投票
1 回答
940 浏览

gdb - 在多个进程上使用 GDB 进行调试

在没有深入细节的情况下,我正在开发一个程序,该程序由几个单独的进程组成,所有进程都在嵌入式 QNX RTOS 上运行。它们没有父子关系,它们都是使用生成的,spawnlp(P_NOWAIT, ...)并且它们都使用操作系统提供的 IPC 机制相互通信。

当我使用 GDB 进行调试并且在我正在工作的过程中遇到断点时,我的所有线程都被暂停,这很棒。但是有没有办法让它暂停执行我的其他进程?现在发生的事情是所有其他进程在我的进程暂停时继续运行,因此所有 IPC 队列都已满等等。

提前致谢,

高频

0 投票
1 回答
541 浏览

android - 在具有多个进程的应用程序上进行 Robotium 单元测试

我编写了一个在多个进程中运行活动的应用程序。

我通过为我的应用程序创建一个新的测试项目集目标包来尝试 Robotium。当我执行它时,测试停止并显示以下错误消息:

如果我手头有源代码,是否有可能有任何解决方法?

0 投票
1 回答
874 浏览

c# - 从子进程的stdout异步读取同步

我有启动子进程stdout异步处理它的应用程序。问题是异步操作需要一些时间,我希望负责流程执行的方法在所有异步 IO 操作完成后结束。

我有这样的代码:

现在我正在寻找一种方法来告诉程序等到所有 IO ( OnRecvStdOut) 操作完成。

我虽然关于使用System.Threading类之一,但我不确定哪个类最适合这个以及如何做到这一点,最好的方法可能是:

在主要功能中:

注意:我想同时允许StdErrStdOut并行处理。 Something不能依赖它Wait会被调用Signal,因为Increase()DecreaseAndSignal()对在发生之前会被调用很多次Wait

想到的第二件事是能够多次发出信号(无需处理信号)并在主函数中使用循环,例如:


编辑:当前工作解决方案:

我想出了这个似乎有效的方法:

但我会很感激任何笔记如何做到这种“良好的实践方式”或者我认为实施的可能风险是什么。

0 投票
3 回答
1441 浏览

c++ - 多个进程将元素推送到列表 STL C++

我有多个预先分叉的服务器进程,它们接受修改服务器上共享 STL C++ 列表的请求。每个进程只是在列表末尾推送一个新元素并返回迭代器。

我不确定每个进程应该如何尝试获取列表上的锁定?它应该在整个对象上还是 STL 列表能够处理并发,因为我们只是在列表末尾推送一个元素?

0 投票
4 回答
5812 浏览

c - 在 C (Windows) 中创建新进程和子进程之间的区别

我想从代码本身中创建一个 exe 的新进程,这样我就可以有两个并行进程。

但是,我希望它们是单独的进程而不是父子进程。

有没有办法在C(Windows)中做到这一点?

0 投票
1 回答
334 浏览

c - 多子创建代码中的问题

这段代码是我的操作系统项目的一部分,该项目要求在应用并发进程的地方做一些事情,我决定制作一个有两个玩家的客户端服务器扑克项目,我使用儿子和孙子进程来确定手牌价值。

代码中应用的方案如下:

1

代码的问题是,在同一个游戏中,只有第一手被正确评估,事实上第二个是不正确的,在第三场比赛中出现错误并且程序结束,这发生在每个新游戏中

这是代码:

在下面的代码中,我放置了一些检查点来查找错误,执行期间的结果对于玩家 1 和玩家 2 的每个新游戏都是相同的:

1 手(始终正确)

2手

为什么会这样?父亲必须等待儿子,在这种情况下,他不会等待

3手

提前致谢。