Встречается на 1% собеседований по Python
Какие знаешь способы решения проблемы многопоточности
В Python есть несколько подходов для работы с многопоточностью:
- Threading (потоки) - модуль
threading. Подходит для I/O-bound задач из-за GIL. Пример:
python
import threading
def task():
print("Thread running")
thread = threading.Thread(target=task)
thread.start()
thread.join()- Multiprocessing - модуль
multiprocessing. Обходит GIL, создавая отдельные процессы. Для CPU-bound задач:
python
from multiprocessing import Process
def task():
print("Process running")
p = Process(target=task)
p.start()
p.join()
text
3. **Asyncio** - для асинхронного I/O (Python 3.5+). Использует корутины:
```python
import asyncio
async def task():
print("Async task")
await task()- ThreadPool/ProcessPool - пулы потоков/процессов из
concurrent.futures:
python
from concurrent.futures import ThreadPoolExecutor
with ThreadPoolExecutor() as executor:
executor.submit(some_function)Выбор зависит от задачи: I/O-bound → threading/asyncio, CPU-bound → multiprocessing. GIL ограничивает настоящую многопоточность в Python, поэтому для CPU-bound задач процессы предпочтительнее.

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