Answer the question
In order to leave comments, you need to log in
Answer the question
In order to leave comments, you need to log in
Get bored with multiprocessing out of desperation.
If you don’t reach such tasks yourself yet, I don’t recommend using asyncio until you turn gray.
Try:
from multiprocessing import Pool
def get_dict(elem):
#тут классная логика get_dict
#можно даже сразу писать в csv
p = Pool(5) #Это "процессы" 10, 20, 1000000000000
p.map(get_dict, items) # map применит твою функцию get_dict к каждому элементу в списке items
simple enough:
import threading # библеотеки базовые - ничего устанавливать не надо
from queue import Queue # вариант получения значения №1
items = ["1", "2"] # пример списка
s = None # вариант получение значения №2
def function_for_new_thread(items, queue): # thread работает с функциями
global s # пользуемся глобальностью что очевидней но не рекомендованно
its = []
for elem in items:
its.append(elem) # ваш код
s = its # глобальная переменная получает нужное значение (№1)
queue.put(its) # пишем в queue наш список (№2)
var_for_thread = Queue() # создание queue
new_thread = threading.Thread(target=function_for_new_thread,
args=(items, var_for_thread,))
# target = функция, args=(нужные данные,) запятая в конце перечисления всех обязательна
new_thread.start() # на старт, внимание, марш
new_thread.join() # ждем поток
print(var_for_thread.get()) # наши данные через queue (№1)
print(s) # наши данные через global (№2)
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question