Моя многопоточность разбивает мой список целых чисел на одно число - PullRequest
0 голосов
/ 24 мая 2019

У меня есть список из 9-значных целых чисел, которые я пытаюсь запустить через функцию, чтобы взять все «хорошие» политики и добавить их в другой список. Я новичок в многопоточности, и когда я использую его, количество уникальных целых чисел возрастает с 410 136 до 3 344 192.

По какой-то причине, когда я отправляю его через пул многопоточности, он разбивает каждое 9-значное число на однозначное число.

Это функция:

record_id = df_tabular['policy'].unique().astype('str')

def build_safe_list(list_id):
    for record_i in list_id:
        try:
            int_record = int(record_i)
            safe_record_id_list.append(int_record)
            #print(record_i)
        except:
            #print(record_i)
            bad_record_id.append(record_i)

#build_safe_list(record_id)

Когда я запускаю это без build_safe_list(record_id), закомментировано, это нормально.

Однако, когда я запускаю нижеприведенное, все портится, как описано выше:

safe_record_id_list = []
bad_record_id = []

from multiprocessing.pool import ThreadPool
num_thread = 16
pool = ThreadPool(num_thread)
results = pool.imap_unordered(build_safe_list, record_id)
...