Встречается на собеседованиях • сегодня
Насколько хорошо использовать потоки для I/O bound задач в Python
В Python потоки (threading) подходят для I/O bound задач, но с важными оговорками:
- GIL (Global Interpreter Lock) не мешает при I/O операциях, так как поток освобождает GIL во время ожидания (чтение/запись файлов, сетевые запросы)
- Потоки легковеснее процессов, создаются быстрее
- Хорошо подходят для задач с частым ожиданием (API запросы, работа с БД)
Пример:
python
import threading
import requests
def fetch_url(url):
response = requests.get(url)
print(f"{url}: {len(response.content)} bytes")
urls = ["https://python.org", "https://google.com", "https://github.com"]
threads = [threading.Thread(target=fetch_url, args=(url,)) for url in urls]
for t in threads:
t.start()
for t in threads:
t.join()Но для CPU-bound задач лучше использовать multiprocessing. Для современных асинхронных I/O задач часто предпочтительнее asyncio.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы