Как передать разные данные в функцию Python, запущенную в многопоточном режиме
Хочу узнать, можно ли как-то запустить Python функцию в многопотоке, при этом передав разные параметры для каждого потока. То есть, к примеру, запустить функцию парсинга в 4 потока и каждому потоку передать свою таблицу в базе данных?
Ответы (1 шт):
Автор решения: Komdosh
→ Ссылка
Достаточно импортировать библиотеку threading создать поток и передать туда функцию
import threading
import time
def thread_function(name):
print("Thread %s: starting", name)
time.sleep(2)
print("Thread %s: finishing", name)
if __name__ == "__main__":
threads = []
for i in range(6):
t = threading.Thread(target=thread_function, args=(i,))
t.start()
threads.append(t)
print("Main : wait for the thread to finish")
for t in threads:
t.join()
print("Main : all done")