-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. Основной процесс вызывает метод Worker.run в подпроцессе с многопроцессорной обработкой. Когда вы запускаете его в wondows 7, основной процесс будет выполнять два подпроцесса.процесс обработки многопроцессорных процессов python
Что вы хотите сказать? – greole
Я только lautch один подпроцесс, но есть два подпроцесса. – billow
Выведенный вами результат не соответствует вашему коду - строки '' process is ... "' должны быть. Выполните точно код, который вы указали, и покажите результат. –