-2
#coding:utf-8
import sys
import time
import os
import multiprocessing
class Worker(object):
def __init__(self):
self.progress = 0
self.task_info = None
def init(self):
pass
def status(self):
pass
def set_task_info(self, task_info):
self.task_info = task_info
def run(self, worker_status_meta_dict):
print multiprocessing.current_process()
print "process is %d" % self.progress
while self.progress < 5:
self.progress = self.progress +1
worker_status_meta_dict['state'] = 0
worker_status_meta_dict['status'] = "running"
time.sleep(2)
worker_status_meta_dict['state'] = 1
worker_status_meta_dict['status'] = "succeeded"
print "bavscan worker finished..."
if __name__ == "__main__":
worker = Worker()
worker_process_dict = multiprocessing.Manager().dict()
process = multiprocessing.Process(target=Worker.run, args=(worker, worker_process_dict))
process.start()
time.sleep(60)
這是一個簡單的python多進程演示。 主進程使用multiprocessing.Process調用子進程中的Worker.run方法。 當它在wondows 7中運行時,主進程將啓動兩個子進程。python多進程計數
你的問題是什麼? – greole 2014-09-02 09:28:40
我只有一個子進程,但有兩個子進程。 – billow 2014-09-02 09:46:42
您提供的輸出與您的代碼不一致 - 必須有「」過程......「行。運行您提供的代碼並顯示輸出。 – 2014-09-02 11:16:58