问题标签 [multiprocess]
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.
java - 调用程序退出/崩溃时关闭 Java 子进程
我正在组装一个多语言系统,但遇到了孤立进程的问题。
我的代码由一个调用 Java 程序的 Python 程序组成,两个程序之间通过管道通信;Java 程序是持久的,而不仅仅是一次性运行。一切正常,但如果 Python 程序过早退出,我需要关闭 Java 程序。
我认为最好的方法是让 Java 程序在无法检测到程序之间的标准输入管道时自行关闭,但我不知道该怎么做。
相关Python代码:
相关Java代码;如果程序无法从标准输入中读取,我希望程序退出,但我认为 readLine() 函数的一些阻塞问题正在发挥作用:
node.js - Node.js:通过 cluster.fork() 调用不同的行为
我正在使用 Node 和 Redis,如果发生事件,我需要向 redis 添加订阅者。问题是我只希望处理发生一次......而且我真的很喜欢只需要我的一个分叉进程来监听redis。
刚才我测试了是否可以在另一个文件中分叉一个新集群并让它从那里开始,但没有乐趣。有人知道怎么做吗?
我正在运行最新的稳定版 Node (0.6.15)
这是我的代码(2个文件):
输出:
clusterTest2 clusterTest1 clusterTest2 集群衍生 clusterTest1
谢谢!
c++ - OpenMP 不支持循环中断
我正在使用 OpenMP 优化一些代码。如果NO_VALUE
在一个循环中遇到,我希望它打破。但是,编译器告诉我这在 openMP 中是不允许的。我怎么能处理这个?
我该如何解决?谢谢!
ruby-on-rails - Rails 开发:如何一次响应多个请求?
我继承了遗留 Web 应用程序的维护,采用一种“有趣”的方式来管理对数据库的并发访问。
该应用程序基于 ruby-on-rails 2.3.8。
我想建立一个开发环境,并从那里有两个网络浏览器同时发出请求,只是为了了解正在发生的事情。
当然,如果我使用 Webrick,这将不起作用,因为它一次只服务一个 http 请求,所以所有请求都被它有效地序列化。
我以为杂种可以帮助我,但是
实际上是在产生一个进程,而且它似乎也是单线程的。
设置我的开发环境以使其一次响应多个请求的最简单方法是什么?我想避免使用 apache 和 mod_passenger,因为这是开发,我希望能够更改代码并在下一个请求时自动重新加载。
python - Python multiple processes instead of threads?
I am working on a web backend that frequently grabs realtime market data from the web, and puts the data in a MySQL database.
Currently I have my main thread push tasks into a Queue object. I then have about 20 threads that read from that queue, and if a task is available, they execute it.
Unfortunately, I am running into performance issues, and after doing a lot of research, I can't make up my mind.
As I see it, I have 3 options: Should I take a distributed task approach with something like Celery? Should I switch to JPython or IronPython to avoid the GIL issues? Or should I simply spawn different processes instead of threads using processing? If I go for the latter, how many processes is a good amount? What is a good multi process producer / consumer design?
Thanks!
multithreading - 关于在多线程环境下提高修剪功能效率
我使用了 boost trim 功能,发现它在单线程环境中表现得非常好。
但是当我在多线程环境中调用trim函数时,它的性能会很差。我还发现使用多进程方法调用它会有很好的性能。
最后,我写了一个简单的trim函数,它在多线程环境或多进程环境下都表现的很好。
我想我必须在多线程环境中错误地使用它。所以我想知道出了什么问题。
感谢您的回复。
boost版本:boost 1.46.1 操作系统:linux redhat 6.1,8core,24G内存。
打击是示例代码test1.cpp,在多线程环境中调用trim函数
test2.cpp,多进程环境调用trim函数
test3.cpp,test2.cpp 的可执行文件
test4.cpp,在多线程环境中调用一个简单的trim(不是boost库)函数,它的性能类似于多进程调用。
multiprocessing - 支持并发和随机访问读取的快速、低内存、常量键值数据库
我需要一个磁盘上的键值存储,不是太大或分布式。用例如下:
- 完整的数据库大小只有几 Gbs
- 键和值的大小都是恒定的
- 它是一个恒定的数据库。写完整个数据库后,我不需要再写任何条目(或很少写)
- 密钥将以不可预知的顺序访问
- 支持多个进程的并发读取是必须的。
- 必须非常快,因为读者将在一个紧密的循环中访问数百万个键。所以它应该尽可能地接近于在关联数组上循环(
STL's std::map
比如) - 理想情况下,它应该允许设置使用多少 RAM,通常它应该使用几百 Mbs
- 用 C 或 C++ 编写。现有的 python 扩展将是一个很大的优势,但我可以自己添加
所以cdb
和gdbm
看起来不错的选择,但只是想知道是否有更合适的选择。指向相关基准甚至相关轶事证据的指针将不胜感激。
python - 包中的 Windows 上的 Python 多进程
我正在尝试在 Windows 上使用多进程,但遇到了无限循环错误。现在我知道这可以通过在标准 python 脚本中使用name == " main " 来解决。我的问题是我正在打包脚本,所以名称等于“testmultiprocess”(包名称)。
我在github上创建了一个小项目来演示我的问题,因为它需要多个文件和一个安装。
谢谢,尼尔
编辑:
测试.py:
打印的名称总是“testmultiprocessing”,因为它是包名称
c - 信号错误:“无效表达式的使用”
我在使用“信号”功能时遇到了一些其他问题。我有 5 个子进程及其父亲。
一次只应运行一个进程,并且该进程应更改为具有一定延迟(从 1 到 10 秒)的另一个随机进程。对于这些更改,必须使用 SIGUSER1 信号。这是我的代码和我遇到的错误:
据我所知,名为“manejador”的函数可以与一个 int 值一起使用 void manejador(int s){ printf("Signal received %d\n",s); }
但我需要 2 个变量,因为我应该停止当前进程并重新启动新进程。
我遇到的确切错误说:
错误:无效表达式的使用无效
你能帮我么?
c - semget 不是这样的文件或目录
我试图让这段代码工作,但我做不到。我设法创建了一些不显示任何编译错误或警告的代码,但是当我尝试执行它时失败并出现以下错误:
semget:没有这样的文件或目录
这是我的代码:
如果我包含头文件 sys/sem.h ...为什么找不到可执行文件?
我做错了什么?
在此先感谢并致以最诚挚的问候,
** * ** * ** * ** * **编辑** * ** * ** * ** * ****
根据给出的答案,我创建了文件,为此我添加了以下内容:
我在 ftok 语句之前添加了这两行:
文件已创建,但我仍然遇到相同的错误。
有任何想法吗?
谢谢!!