Я работаю над созданием сценария с многопроцессорной обработкой.Но при реализации очереди я обнаружил, что она не работает, как я ожидал, и все еще не знаю, почему.
Вот мой псевдокод, состоящий из трех частей: функция для создания списка предложений из строк, список строк и список результатов для добавления предложений и основной код для реализации очереди и многопроцессорной обработки.
def process_string(que_object):
while que_object.empty():
time.sleep(2)
q = que_object.get(timeout=2)
sentence = "Here is your string_"+q
print(sentence)
final_sentence.append(sentence)
strings =["alskfj","alksjf"...]
final_sentences = []
if __name__ == "__main__":
que_object = Queue()
for i in strings:
que_object.put(strings[strings.index(i)])
#print(strings[strings.index(i)])
#print(que_object)
with Manager() as manager:
L = manager.list(strings)
process_list =[]
for i in range(2):
p = Process(target =process_string,args=(que_obejct,))
process_list.append(p)
p.start()
for i in range(2):
p.join()
#time.sleep(1)
print(final_sentences)