Встречается на собеседованиях • сегодня

Знаешь ли что-нибудь про конкурентность

В Python конкурентность достигается через многопоточность (threading), многопроцессность (multiprocessing) и асинхронность (asyncio).

  • Потоки (threading) подходят для I/O-bound задач (сетевые запросы, чтение файлов), но из-за GIL (Global Interpreter Lock) не дают выигрыша в CPU-bound задачах.
  • Процессы (multiprocessing) обходят GIL, используя отдельные процессы, идеально для CPU-bound задач.
  • Асинхронность (asyncio) эффективна для I/O-bound задач с большим количеством соединений, используя корутины и цикл событий.

Пример с threading:

python
import threading

def task():
    print("Выполняется в потоке")

thread = threading.Thread(target=task)
thread.start()
thread.join()

Пример с asyncio:

python
import asyncio

async def task():
    print("Асинхронная задача")

asyncio.run(task())

Выбор инструмента зависит от типа задачи (I/O vs CPU) и требований к производительности.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы