问题标签 [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.
c - 以多进程方式计算斐波那契数?
我正在编写多进程斐波那契数计算器,我有一个跟踪斐波那契数的文件,首先进程打开文件并写入第一个斐波那契数(0 和 1),然后执行 fork 及其子进程读取最后两个数字相加他们起来并将下一个写入文件并关闭文件并再次分叉这个过程继续这样,分叉和孩子将数字相加并将计算出的数字写入文件,在内部使用 fork 不是一个好的解决方案,也不是递归调用,有没有问题建议??
这是我们正在讨论的问题的多进程部分问题的链接,它是第 2 部分
http://cse.yeditepe.edu.tr/~sbaydere/fall2010/cse331/files/assignments/F10A1.pdf
python - 一个python多进程错误
我在这里有一个多进程演示,我遇到了一些问题。研究了一个晚上,我无法解决原因。任何人都可以帮助我吗?
我想让一个父进程充当生产者,当有任务来时,父进程可以分叉一些子进程来消费这些任务。父母监控孩子,如果有任何一个异常退出,可以由父母重新启动。
该程序运行时会出现如下错误:
如果我向一个孩子发送信号:kill –SIGINT {child_pid} 我会得到:
multithreading - 如何在 Perl 中将消息(或信号)从父进程发送到子进程,反之亦然?
我正在编写一个管理多进程的程序。这就是我所做的,而且效果很好!但是现在,我想将消息从子进程发送到父进程,反之亦然(从父进程到子进程),你知道最好的方法吗?你知道我所做的是否是我想要的正确方法(从子进程向父进程发送消息、信号或共享内存,反之亦然)?
提前致谢!!
code>c++ - boost::interprocess 是否有“upgrade_to_unique_lock”?
我正在寻找在写入者偏向的读取器/写入器模型中在两个(或多个)进程之间有效共享数据块的最佳方法。
我目前的测试是boost::interprocess
. 我已经创建了一些managed_shared_memory
,并试图通过使用存储在共享内存中的进程间互斥锁来锁定对数据块的访问。
但是,即使在sharable_lock
reader 和upgradable_lock
writer 上使用,客户端也会在写入操作期间读取碎片值而不是阻塞。在单个进程中的线程之间进行类似的读取器/写入器设置时,我曾经upgrade_to_unique_lock
解决过这个问题。但是,我还没有找到它的boost::interprocess
等价物。一个存在吗?
服务器(作者):
客户(读者)
我想手头更大的问题是:进程间互斥锁甚至是在写入器偏向设置中访问进程之间共享内存的正确方法吗?
注意:使用 Boost 1.44.0
c++ - 'managed_shared_memory' 应该分配多少内存?(促进)
boost::interprocess
我正在寻找一个明确的答案(如果确实存在的话),当通过's创建共享内存的静态块时应该分配多少内存managed_shared_memory
。即使是官方的例子似乎也分配了任意大的内存块。
考虑以下结构:
我最初的反应是必要的大小是 8 个字节,或者sizeof(Point2D)
. 当我尝试构造一个对象时,这会惨遭失败,在运行时给我段错误。
什么读/写操作导致了段错误?堆栈操作?临时分配segment.construct()
? 分配共享内存时需要多少开销?
通过反复试验,我发现将大小乘以 4 可以适用于上述结构,但是当我开始向我的struct
. 所以,这听起来很糟糕。
有些人可能会争辩说现代 PC 中的“内存很便宜”,但我不同意这种理念,并且不喜欢分配比我需要的更多的东西,如果我可以避免的话。我昨天翻遍了 Boost 文档,找不到任何建议。今天来学习新的东西!
unix - 如何避免命名管道中的多个作者?
我正在编写一个带有多个读取器和多个写入器的命名管道的程序。这个想法是使用该命名管道来创建读取器/写入器对。那是:
- A读取管道
- B 在管道中写入(反之亦然)
- 对 AB 已创建!
为了保证只有一个进程在读,一个在写,我用了2个锁和flock。像这样。
读者代码:
编写器代码:
我有时会遇到以下问题:
如您所见,另一位作家在读者阅读完之前就写了。我能做些什么来摆脱这个问题?我应该使用 ACK 管道还是什么?
先感谢您
c++ - boost::asio 服务器多进程
我想做一个简单的多进程(不是线程)服务器。我已经看到了它一次处理一个请求的迭代示例。相反,我需要同时处理更多请求(更少 10 个请求更多)。在经典的 c 和 c++ 示例中,我看到服务器的设计如下:
是否可以通过 boost 做类似的事情?我真的不知道如何获得这两个不同的套接字,因为在 boost 中所有的函数(listen
、、、bind
等accept
)都返回 void。
python - Python:如何检查 multiprocessing.Pool 中待处理任务的数量?
我有一小部分工人 (4) 和一个非常大的任务列表 (5000~)。我正在使用一个池并使用 map_async() 发送任务。因为我正在运行的任务相当长,所以我强制将块大小设置为 1,以便一个长进程无法容纳一些较短的进程。
我想做的是定期检查还有多少任务要提交。我知道最多有 4 个处于活动状态,我关心还有多少需要处理。
我用谷歌搜索,找不到任何人这样做。
一些简单的代码来帮助:
python - Ant 模拟:最好为每个 Ant 或其他东西创建一个 Process/Thread?
简单的学习是: 蚂蚁生活模拟
我正在创建一个面向 Anthill 的类、Ant 的类和整个模拟器的类的 OO 结构。
现在我正在头脑风暴“如何”让蚂蚁“活着”......
我知道有这样的项目才刚刚开始,但我正在集思广益,我不是在寻找刚刚准备好的菜肴。
真诚地,我必须进行一些测试以了解“什么更好”,AFAIK 线程在 Python 中使用的内存比进程少。
当您开始模拟时,“蚂蚁”必须做的只是:以随机方向移动,如果他们找到食物 -> 吃/带到蚁丘,如果他们从另一个蚁丘发现另一只蚂蚁正在运输食物 -> 攻击 - > 收集食物 -> 做必须做的事情......等等......这意味着我必须在蚂蚁和整个环境中“分享”信息。
所以我重写:最好为每个 Ant 或其他东西创建一个进程/线程?
编辑:由于我的问题“什么更好”,我赞成我收到的所有聪明的答案,并且我也对它们发表了评论。经过我的测试,我将接受最佳答案。
bash - 如何编写进程池 bash shell
我有10多个任务要执行,系统限制最多可以同时运行4个任务。
我的任务可以像这样开始:myprog taskname
如何编写 bash shell 脚本来运行这些任务。最重要的是,当一个任务完成时,脚本可以立即启动另一个任务,使正在运行的任务计数始终保持 4。