Простите, если это глупый вопрос. Я пытаюсь использовать несколько классов многопоточности для выполнения различных задач, что включает многократный вызов этих многопоточности в разное время. Но я не уверен, какой метод использовать. Код выглядит так:
class workers1(Thread):
def __init__(self):
Thread.__init__(self)
def run(self):
do some stuff
class workers2(Thread):
def __init__(self):
Thread.__init__(self)
def run(self):
do some stuff
class workers3(Thread):
def __init__(self):
Thread.__init__(self)
def run(self):
do some stuff
WorkerList1=[workers1(i) for i in range(X)]
WorkerList2=[workers2(i) for i in range(XX)]
WorkerList2=[workers3(i) for i in range(XXX)]
while True:
for thread in WorkerList1:
thread.run (start? join? or?)
for thread in WorkerList2:
thread.run (start? join? or?)
for thread in WorkerList3:
thread.run (start? join? or?)
do sth .
Я пытаюсь, чтобы все потоки во всем WorkerList начали работать одновременно или, по крайней мере, запускались примерно в одно и то же время. Через некоторое время после того, как все они были завершены, я хотел бы снова вызвать все потоки.
Если бы цикла не было, я мог бы просто использовать .start; но поскольку я могу запустить поток только один раз, start, по-видимому, здесь не подходит. Если я использую run, кажется, что все потоки запускаются последовательно, не только потоки в одном списке, но также потоки из разных списков. Поддерживается ли поддержка содержимого для компонентов CDI в Eclipse Helios?
У кого-нибудь есть опыт в этом?