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

В каких операциях можно добиться асинхронного выполнения процесса

В Python асинхронное выполнение можно добиться через несколько подходов:

  1. asyncio - стандартная библиотека для асинхронного программирования:
python
import asyncio

async def task():
    print("Start")
    await asyncio.sleep(1)
    print("End")

asyncio.run(task())
  1. Потоки (threading) - для I/O-bound операций:
python
from threading import Thread
import time

def task():
time.sleep(1)
print("Done")

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

text

3. **Процессы (multiprocessing)** - для CPU-bound операций:
```python
from multiprocessing import Process

def task():
    print("Process running")

process = Process(target=task)
process.start()
  1. Генераторы через yield:
python
def async_gen():
    yield "First"
    yield "Second"

gen = async_gen()
print(next(gen))

Ключевые различия:

  • asyncio использует event loop и корутины
  • threading работает с GIL (подходит для I/O)
  • multiprocessing обходит GIL (для CPU задач)
  • генераторы дают простую псевдо-асинхронность
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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