0
我已經做了我正在寫的一個更大的一段代碼的以下示例。我想要多個進程管理100個左右的線程,這些線程也是類。多進程類沒有在實際進程中存儲數據
我有兩個問題,一個是「添加」方法似乎實際上並沒有添加到新的過程。另一個是即使創建了2,3或4個進程,線程仍然在第一個主進程下啓動。
下面的代碼不顯示線程類,但也許如果你可以幫助解釋爲什麼進程沒有正確添加我可以找出線程部分。
from time import sleep
import multiprocessing
class manager(multiprocessing.Process):
def __init__(self):
multiprocessing.Process.__init__(self)
self.symbols_list = []
def run(self):
while True:
print "Process list: " + str(self.symbols_list)
sleep(5)
def add(self, symbol):
print "adding..." + str(symbol)
self.symbols_list.append(symbol)
print "after adding: " + str(self.symbols_list)
if __name__ == "__main__":
m = manager()
m.start()
while True:
m.add("xyz")
raw_input()
輸出如下:
adding...xyz
after adding: ['xyz']
Process list: []
adding...xyz
after adding: ['xyz', 'xyz']
adding...xyz
after adding: ['xyz', 'xyz', 'xyz']
Process list: []