【发布时间】:2016-05-29 13:58:12
【问题描述】:
我经常在 Python 中处理文本,但我对这门语言有点陌生,还不知道如何在 Py 中使用多线程。
我的用例如下:
- 生成文本 T_s 的单个生产者 P(数据库/XML)。
- T_s 中的每个文本都可以独立处理。处理后的文本构成 T_p 集。
- 结果集由单线程 S 写入文本文件/XML/数据库。
数据量巨大,所有的处理都无法保留内存中的当前数据。
我会按如下方式组织流程:
- Producer 将文本放入 Q_s 队列。
- 有一组工作人员和一个从队列中获取文本并在工作人员之间分发的经理。
- 每个工作人员将处理后的文本放入 Q_p。
- Sink 进程从 Q_p 读取处理后的文本并将其持久化。
除了所有 Producer 应该能够向管理器和接收器传达它已结束读取输入数据源的信息。
总结。到目前为止,我了解到,Py 中的每个典型任务都有一个不错的库/解决方案。我目前的任务有吗?
【问题讨论】:
-
Google 在“python worker threads producer-consumer howto”上给出了很好的结果,包括例如stackoverflow.com/questions/18998520/…
标签: python multithreading