Здравствуйте!
Кто подскажет по потокам в Python?
Задача обработать первый список и получить из него список2. В дальнейшем обрабатываем список2 и выводим результат.
Но второй поток получает список2 с первоначальными данными, а не с обработанными в первом потоке.
Как сделать общую переменную?
игрался с multiprocessing.Manager(), что-то не разобрался.
Списки большие, обрабатывать без нескольких потоков очень долго. Сейчас первая функция работает в цикле и обрабатывает список поштучно, хотелось обработать его в несколько потоков, но появилась проблема.
list2=['1']
pool1 = ThreadPool(3)
pool1.imap(get_list2, list1, 1)
pool1.close()
pool1.join()
print(list2)
# тут выводит обработанный список
pool2 = ThreadPool(3)
pool2.imap(obrabotka_list2, list2, 1) # а тут в list2 оказывается снова первоначальный список
pool2.close()
pool2.join()