Встречается на собеседованиях • сегодня
Как организовывал многозадачность в своих проектах
Для многозадачности в Python чаще всего использую:
- Потоки (threading) - для I/O-bound задач:
python
from threading import Thread
def task():
print("Выполняю задачу в потоке")
threads = [Thread(target=task) for _ in range(5)]
for t in threads: t.start()
for t in threads: t.join()- Процессы (multiprocessing) - для CPU-bound задач:
python
from multiprocessing import Process
def worker():
print("Процесс выполняет работу")
procs = [Process(target=worker) for _ in range(4)]
for p in procs: p.start()
for p in procs: p.join()
text
3. **Асинхронность (asyncio)** - для высоконагруженных сетевых приложений:
```python
import asyncio
async def fetch_data():
await asyncio.sleep(1)
return "Данные"
async def main():
tasks = [fetch_data() for _ in range(3)]
results = await asyncio.gather(*tasks)
print(results)
asyncio.run(main())Выбор зависит от задачи:
- Потоки для множества I/O операций (запросы, файлы)
- Процессы для тяжелых вычислений
- Asyncio для сетевых сервисов с высокой нагрузкой
Важно учитывать GIL и правильно синхронизировать доступ к общим ресурсам.

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