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

Python Junior Без компании
В каких операциях можно добиться асинхронного выполнения процесса
Ответы
В Python асинхронное выполнение можно добиться через несколько подходов: - **asyncio** - стандартная библиотека для асинхронного программирования: ``` import asyncio async def task(): print("Start") await asyncio.sleep(1) print("End") asyncio.run(task()) ``` - **Потоки (threading)** - для I/O-bound операций: ``` from threading import Thread import time def task(): time.sleep(1) print("Done") thread = Thread(target=task) thread.start() ``` - **Процессы (multiprocessing)** - для CPU-bound операций: ``` from multiprocessing import Process def task(): print("Process running") process = Process(target=task) process.start() ``` - **Генераторы** через `yield`: ``` def async_gen(): yield "First" yield "Second" gen = async_gen() print(next(gen)) ``` Ключевые различия: - asyncio использует event loop и корутины - threading работает с GIL (подходит для I/O) - multiprocessing обходит GIL (для CPU задач) - генераторы дают простую псевдо-асинхронность