问题标签 [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.
sqlite - 多个进程同时写入时 SQLite 数据库中的某些行丢失
我正在创建简单的 SQLite 数据库,其中多个进程同时写入表。这里每个进程都有自己的表,要使用 INSERT 语句进行更新。
这是我的示例代码:
此类可从多个进程访问。
执行流程后,当我验证数据时,我发现表中缺少一些行(要插入)。
我是 SQLite 新手,可能缺少与数据库的一些重要连接。请帮我找出根本原因。
java - 如何防止多个进程同时访问同一个序列化文件?
我有一个类,我序列化了它的对象。此类具有可能被进程更改并序列化并再次保存在文件中的状态。
问题是当多个进程反序列化同一个文件并改变它的状态并再次序列化它时,这个对象(以及保存序列化对象的文件)的一致性被破坏了。
有没有像locking这样的机制,当一个进程从文件反序列化一个对象时,其他进程不能访问这个文件也不能反序列化它?
c - C中的rand(),模数从不触发
我正在尝试实现一个涉及同步的真实世界模拟,当我有一个有 80% 机会发生的事件时,我目前正在做
但是,while 循环永远不会在运行时触发,所以我不确定我是否正确使用了 rand()。如果我将 rand() 替换为 7,则它工作正常。我目前设置
在我的程序的早期也是如此。任何帮助将非常感激。
编辑:这是完整的运行程序。我修改了 sys.c 来创建 up 和 down 的系统调用,它们充当信号量。
multithreading - 为什么等待时间是 CPU 调度算法的重要标准?
例如,当我读到不同的调度算法时,如First-Come-First-Serve
, Shortest Job First
, Priority Scheduling
,Round Robin
调度所有这些算法的度量是平均等待时间。
考虑一个运行时间为 21、3、6、2(毫秒)的进程。平均等待时间为First-Come-First-Serve
(0 + 21 + 24 + 30)/4 = 18.75 毫秒,而 forShortest Job First
为 (0+2+5+11)/4 = 4.5 毫秒。
这是否意味着Shortest Job First
更好?我知道第一个等待时间更长,但这不是忙等待,CPU 忙于执行任务。就像首先完成 21 毫秒的任务一样,首先完成它,然后再完成另一个任务等等。无论顺序如何,完成任务不应该花费相同的时间吗?有任何想法吗?
php - PHP和C:避免执行同一个C程序的多个进程
我正在开发一个 PHP Web 界面来管理我的 Raspberry 的 GPIO。我想创建一个页面,例如四个按钮:
- 按钮 1:打开 PIN1
- 按钮 2:关闭 PIN1
- 按钮 3:打开 PIN2
- 按钮 4:关闭 PIN2
对于 PHP 页面的每个按钮,我都关联了一个 C 程序。因此,如果我想打开 PIN1,我会启动我的程序“switchOnPin1.c”的 PHP“exec”命令,依此类推。
问题是,以这种方式,经过一段时间后,如果我多次按下按钮,我的进程列表(“ps -aux”linux 命令)中有很多我的 C 程序实例正在运行。
有什么方法可以只运行一个 C 程序,以便我可以为每个按钮调用始终相同的 C 程序?
提前致谢
c - MPI 主进程不等待其他进程计算
您好,我是使用 MPI 编程的新手。我正在尝试将两个矩阵相乘(一个 NxN 矩阵(A)和一个 Nx1(B)矩阵)来得到一个结果 C 矩阵(Nx1)。每个进程都应该计算矩阵 C 中的一行(元素),但是只有进程 0(我的主进程)计算正确,因为它似乎没有等待其他进程完成计算。我也不确定非主进程是否正确地发回了结果(或者他们是否甚至需要?)。这是我的代码:
}
我很确定我很接近,但我只是错过了一些东西。我已经尝试通过广播 A 矩阵和/或调用 MPI_GATHER 添加一些已注释掉的语句,但似乎除了主 proc 之外的任何 proc 都没有给出结果,所以很明显我仍然做错了什么。这是一些示例输出:
所以 proc 0 计算正确,但是我的错误消息是 proc 1 出现段错误,我不知道为什么。我得到的错误是:
mpirun noticed that process rank 1 with PID 0 exited on signal 11 (Segmentation fault).
任何帮助将不胜感激!
ruby - ruby GIL 对它启动的进程有影响吗?
我注意到,当我使用 cruby 通过 运行多线程 java 程序时Open3.capture3('java -jar multi-threaded.jar')
,大多数 java 线程处于空闲状态,CPU 仅在单个内核上忙碌。但是,如果我从 bash 运行相同的 java 程序,CPU 的利用率接近 100%。
cruby GIL 对运行的程序有影响capture3
吗?
c# - 父崩溃后的 C# 子进程行为
我有一个简单而有趣的问题。
我需要从 C# 应用程序启动一个进程(node.js 服务器)。
我找到了一段代码,解释了如何从应用程序中启动服务器。
我的问题是:如果父进程(C# 应用程序)崩溃,这个进程会发生什么?子进程会退出/崩溃还是会继续运行,因为它是一个完全独立的程序?
在它继续运行的情况下,是否有办法“链接”这两个进程以确保在父进程崩溃时子进程退出?
c++ - 重写一个类以更通用的可移植性
我之前曾问过这个关于删除 Windows 库依赖项的问题删除
Windows 库依赖项。用户:https ://stackoverflow.com/users/214671/matteo-italia已经解释过,Threads
您可以用替换 Windows 特定代码,std::mutex
但至于Processes
目前标准中没有任何内容,这是我接受的答案。
在另一个很好的答案用户中:https ://stackoverflow.com/users/7594711/soronelhaetir建议使用boost-interprocess
. 但是我目前的项目是boost
免费的。
使用当前课程:
块进程:
BlockProcess.h
BlockProcess.cpp
我的问题仍然部分相同:removing windows dependencies
但现在变成:有没有一种方法可以以通用方式重写这个类,这样我就不必使用:#include <Windows.h>
而不使用任何第三方库,例如boost
?
python - 在 Docker 中运行多个 python 进程
我是 docker 新手,试图在 docker 中运行多个 python 进程。虽然不推荐,但是它应该按照这里的建议工作“ https://docs.docker.com/engine/admin/multi-service_container/ ”
我的 Dockerfile :
开始.sh:
运行命令:
- 当我进入终端并运行时,相同的 shell 脚本工作。
- 没有nohup试过,没有用。
- 尝试 python 子进程也启动其他 python 进程,没有工作。
是否可以在没有 supervisord 或 docker-compose 的情况下运行多个进程?
更新:没有收到任何错误,只有“lastLine”被打印并且 docker 容器退出。