У меня есть следующий код:
import multiprocessing
import queue
import time
to_delete = queue.Queue()
def parallel(args):
return para_print(*args)
def para_print(sngl, dbl, iter):
to_delete.put(f"{sngl}, {dbl}, {iter}")
if __name__ == '__main__':
multiprocessing.freeze_support()
expression_list = [('a', 'aa', 1), ('b', 'bb', 2), ('c', 'cc', 3), ('d', 'dd', 4)]
pool = multiprocessing.Pool(multiprocessing.cpu_count() - 1)
result = pool.map(parallel, expression_list)
print(to_delete.qsize())
while not to_delete.empty():
print(to_delete.get())
Результатом является «0», напечатанный как размер очереди, и ничего не помещается правильно в очередь - или не извлекается из нее. Что, черт возьми, я здесь делаю не так?