Я сделал следующий пример более крупного кода, который я пишу. Я хотел бы, чтобы несколько процессов управляли 100 потоками, которые также являются классами.Multi-process Class не хранит данные в реальном процессе
У меня есть две проблемы: одна из них заключается в том, что метод «добавить» действительно не добавляет к новому процессу. Другое заключается в том, что даже при создании 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: []