3
我的問題是:蟒蛇多重處理管理器
我有3個特效,想共享從同一類和幾個隊列加載的配置。我想產生另一個proc作爲multiprocessing.manager來共享這些信息。
我該怎麼做?有人可以購買一個示例代碼,避免使用全局變量並使用多處理管理器類嗎?
Python文檔並非如此有益:-(
我的問題是:蟒蛇多重處理管理器
我有3個特效,想共享從同一類和幾個隊列加載的配置。我想產生另一個proc作爲multiprocessing.manager來共享這些信息。
我該怎麼做?有人可以購買一個示例代碼,避免使用全局變量並使用多處理管理器類嗎?
Python文檔並非如此有益:-(
我發現this專門的章節有幫助Python的多文檔下面的程序:
from multiprocessing import Process, Queue, current_process
import time
def f(q):
name = current_process().name
config = q.get()
print "%s got config: %s" % (name, config)
print "%s beginning processing at %s" % (name, time.asctime())
time.sleep(5)
print "%s completing processing at %s" % (name, time.asctime())
if __name__ == '__main__':
q = Queue()
processes = []
cfg = { 'my' : 'config', 'data' : 'here' }
for i in range(3):
p = Process(target=f, args=(q,))
processes.append(p)
p.start()
q.put(cfg)
for p in processes:
p.join()
演示了主腳本(這是「多處理器管理器「在你的問題)創建3個進程,併發送給他們每個配置(這裏顯示爲一個字典)
每個進程讀取配置,處理它(這裏,只是睡5秒)然後終止。運行此腳本的輸出是:
Process-1 got config: {'my': 'config', 'data': 'here'}
Process-1 beginning processing at Tue Jun 23 23:34:23 2009
Process-2 got config: {'my': 'config', 'data': 'here'}
Process-2 beginning processing at Tue Jun 23 23:34:23 2009
Process-3 got config: {'my': 'config', 'data': 'here'}
Process-3 beginning processing at Tue Jun 23 23:34:23 2009
Process-1 completing processing at Tue Jun 23 23:34:28 2009
Process-2 completing processing at Tue Jun 23 23:34:28 2009
Process-3 completing processing at Tue Jun 23 23:34:28 2009
是的,但我想辦法避免將全局變量 – DrFalk3n 2009-06-24 07:28:26
Python文檔通常是沒有幫助的:-D – johndodo 2012-01-26 09:15:31