Я читаю файл с несколькими словами, используя python, добавляю все элементы в очередь и затем выполняю операцию a
, используя метод doWork()
. Я пытаюсь выяснить, как я могу добавить результаты, выполненные в a
операциях, обратно в ту же очередь, чтобы снова выполнить a
для самого результата. Цикл должен остановиться, как только q
опустеет, и в конце концов произойдет, поскольку операция a
может возвращать или не возвращать результат.
Надеюсь, в этом есть какой-то смысл. : P
concurrent = 20
def doWork():
while True:
word = q.get()
lol = getStatus(word)
q.task_done()
def getStatus(word):
#results another word on which this operation has to be performed.
q = Queue(concurrent * 2)
for i in range(concurrent):
t = Thread(target=doWork)
t.daemon = True
t.start()
try:
for words in open('words.txt' ,'r'):
q.put(words.strip())
q.join()
except KeyboardInterrupt:
sys.exit(1)