В каких ситуациях используют threading
Python
Senior
Без компании
В каких ситуациях используют threading
Ответы
Threading в Python используется для выполнения задач параллельно, когда операции связаны с I/O-bound (ожиданием ввода-вывода), например:
- **Работа с сетью** (HTTP-запросы, API-вызовы)
- **Чтение/запись файлов**
- **Обработка нескольких соединений** (веб-серверы, чат-боты)
Пример:
```
import threading
import requests
def fetch_url(url):
response = requests.get(url)
print(f"Fetched {url}, status: {response.status_code}")
urls = ["https://example.com", "https://google.com"]
threads = []
for url in urls:
thread = threading.Thread(target=fetch_url, args=(url,))
thread.start()
threads.append(thread)
for thread in threads:
thread.join()
```
**Важно:**
- GIL в Python ограничивает эффективность threading для CPU-bound задач (лучше multiprocessing).
- Потоки разделяют память — нужна синхронизация (Lock, Semaphore) при изменении общих данных.