Встречается на собеседованиях • сегодня
Чем асинхронность лучше потоков
Асинхронность лучше потоков в Python в нескольких аспектах:
- Эффективность - асинхронный код работает в одном потоке, избегая накладных расходов на переключение контекста и GIL
- Масштабируемость - можно обрабатывать тысячи соединений одновременно без создания тысяч потоков
- Простота - нет проблем с синхронизацией, race condition, deadlocks
- Память - потребляет меньше памяти, чем эквивалентное количество потоков
Пример асинхронного сервера:
python
import asyncio
async def handle_client(reader, writer):
data = await reader.read(100)
writer.write(data)
await writer.drain()
writer.close()
async def main():
server = await asyncio.start_server(handle_client, '127.0.0.1', 8888)
async with server:
await server.serve_forever()
asyncio.run(main())Но асинхронность не заменяет потоки полностью - для CPU-bound задач лучше использовать процессы или C-расширения.

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