Встречается на собеседованиях • сегодня
Какие знаешь способы решения проблемы многопоточности
В 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
интервью вопросы и ответы