Sobes.tech
Назад к вопросам
Junior — Middle
59

Можно ли запускать два потока одновременно в Python и как это реализовать?

Ответ от нейросети

sobes.tech AI

Да, в Python можно запускать два и более потоков одновременно с помощью модуля threading.

Пример создания и запуска двух потоков:

import threading
import time

def worker(name):
    for i in range(3):
        print(f"Поток {name} выполняет работу {i}")
        time.sleep(1)

thread1 = threading.Thread(target=worker, args=("A",))
thread2 = threading.Thread(target=worker, args=("B",))

thread1.start()
thread2.start()

thread1.join()
thread2.join()
print("Все потоки завершены")

Однако стоит учитывать, что из-за GIL (Global Interpreter Lock) в стандартном CPython потоки не выполняются параллельно на нескольких ядрах для CPU-bound задач, но для I/O-bound задач (например, сетевые запросы, чтение файлов) многопоточность работает эффективно.