您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python:并行运行子进程

Python:并行运行子进程

所有子进程并行运行。(为避免这种情况,必须明确等待其完成。)它们甚至可以同时写入日志文件,从而使输出无效。为避免这种情况,您应该让每个进程写入不同的日志文件,并在所有进程完成后收集所有输出

q = Queue.Queue()
result = {}  # used to store the results
for fileName in fileNames:
  q.put(fileName)

def worker():
  while True:
    fileName = q.get()
    if fileName is None:  # EOF?
      return
    subprocess_stuff_using(fileName)
    wait_for_finishing_subprocess()
    checksum = collect_md5_result_for(fileName)
    result[fileName] = checksum  # store it

threads = [ threading.Thread(target=worker) for _i in range(20) ]
for thread in threads:
  thread.start()
  q.put(None)  # one EOF marker for each thread

之后,结果应存储在中result

python 2022/1/1 18:51:57 有302人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶