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

Python Junior Без компании
Знаешь ли что-нибудь про конкурентность
Ответы
В Python конкурентность достигается через многопоточность (`threading`), многопроцессность (`multiprocessing`) и асинхронность (`asyncio`). - **Потоки** (`threading`) подходят для I/O-bound задач (сетевые запросы, чтение файлов), но из-за GIL (Global Interpreter Lock) не дают выигрыша в CPU-bound задачах. - **Процессы** (`multiprocessing`) обходят GIL, используя отдельные процессы, идеально для CPU-bound задач. - **Асинхронность** (`asyncio`) эффективна для I/O-bound задач с большим количеством соединений, используя корутины и цикл событий. Пример с `threading`: ``` import threading def task(): print("Выполняется в потоке") thread = threading.Thread(target=task) thread.start() thread.join() ``` Пример с `asyncio`: ``` import asyncio async def task(): print("Асинхронная задача") asyncio.run(task()) ``` Выбор инструмента зависит от типа задачи (I/O vs CPU) и требований к производительности.