Python多处理问题

发布于 2024-11-28 02:18:34 字数 321 浏览 1 评论 0原文

尝试想出对必须并行运行的两个进程进行编码的最佳方法。我什至不确定多处理是否是首选模块。

我使用 dataCollector 在很长一段时间内生成大量数据,但我想在 dataCollector 保持运行的同时使用 dataChecker 定期检查数据。在我看来,我考虑了两个重要的时间,一是 dataCollector 转储文件并开始写入另一个文件的时间,这也是 dataChecker 开始分析转储文件的时间,二是 dataCollector 转储文件的时间dataChecker 完成并再次开始等待 dataCollector。

有人可以建议多处理模块的一般概要吗?我应该使用不同的模块吗?谢谢

Trying to think of the best way to code 2 processes that have to run in parallel. I not even sure if multiprocessing is the preferred module.

I am generating a lot of data for a long period of time with a dataCollector, but I would like to check the data periodically with a dataChecker while the dataCollector keeps running. In my mind there are 2 significant times that I consider, one, the time in which the dataCollector dumps a file a begins writing another, which is the same time that the dataChecker will start analyzing the dumped file, and two, the time in which the dataChecker is finished and begins waiting for the dataCollector again.

Can someone suggest a general outline with the multiprocessing module? Should I be using a different module? Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

心舞飞扬 2024-12-05 02:18:34

为什么要使用任何模块?通过同时启动两个单独的进程可以很简单地做到这一点。 dataChecker 会列出目录中的所有文件,对它们进行计数,然后休眠一小段时间(几秒或更长时间)。然后它会再次执行此操作,如果文件数量发生变化,它会打开新文件,读取并处理它们。

两个进程的同步将完全通过邮箱完成,邮箱实现为包含文件的目录。仅当 dataCollector 开始写入新消息时才会收到消息。

Why would you use any module at all? This is simple to do by having two separate processes that start at the same time. The dataChecker would list all files in a directory, count them, and sleep for a short time (several seconds or more). Then it would do it again and if the number of files changes, it opens the new ones, reads them and processes them.

The synchronisation of the two processes would be done entirely through mailboxes, implemented as a directory with files in it. A message is received only when the dataCollector starts writing a new message.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文