Как передать разные данные в функцию 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")
→ Ссылка