python - 获取worker返回的数据

标签 python multithreading multiprocessing

如何获取worker返回的数据?

import multiprocessing

def worker():

      """worker function"""
      return 'DATA'

if __name__ == '__main__':

      jobs = []
      for i in range(5):
          p = multiprocessing.Process(target=worker)
          print p
          jobs.append(p)
          p.start()

输出:

DATA
DATA
DATA
DATA
DATA

最佳答案

您可以创建一个工作人员池并传入一些数据进行处理:

import multiprocessing

def worker(item):
    return item ** 2

if __name__ == '__main__':
    pool = multiprocessing.Pool(5)

    for result in pool.imap_unordered(worker, range(30)):
        print result

关于python - 获取worker返回的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16099570/

相关文章:

python - 仅使用 Python 标准库进行 html 到文本的转换

python 嵌套属性封装

c# - BeginInvoke 的@object 参数应该传递什么?

java在多重锁下的对象可见性

python - 在Python多处理子进程中忽略SIGINT

python:使用多处理共享巨大的字典

python - scipy.optimize.fmin 的简单并行化

python - 使用 Python,如何在 Linux 上创建虚拟串口?

python - 如何获取 Pandas 中 groupby 对象中每个项目的索引?

java - 如何在多线程模式下读取文件?