Работал ли с многопоточностью в Python
Python
Middle
Без компании
Работал ли с многопоточностью в Python
Ответы
Да, работал. В Python есть модуль `threading` для работы с потоками. Однако из-за GIL (Global Interpreter Lock) потоки выполняются не совсем параллельно, а переключаются между собой. Это полезно для I/O-bound задач (например, сетевые запросы), но не для CPU-bound задач.
Пример с `threading`:
```
import threading
def worker(num):
print(f"Поток {num} начал работу")
# имитация работы
time.sleep(1)
print(f"Поток {num} завершил работу")
threads = []
for i in range(3):
t = threading.Thread(target=worker, args=(i,))
threads.append(t)
t.start()
for t in threads:
t.join() # ждём завершения всех потоков
```
Для CPU-bound задач лучше использовать `multiprocessing`, так как процессы обходят GIL.