Что такое конкурентность
Python
Middle
Без компании
Что такое конкурентность
Ответы
Конкурентность — это способ выполнения нескольких задач в перекрывающихся временных интервалах, необязательно параллельно. В Python конкурентность достигается через потоки (threading), процессы (multiprocessing) и асинхронное программирование (asyncio).
**Пример с 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())
```
**Ключевые отличия:**
- Потоки используют GIL (Global Interpreter Lock), что ограничивает параллелизм для CPU-задач.
- Асинхронность эффективна для I/O-операций, но требует поддержки со стороны кода (async/await).
- Процессы полностью независимы и обходят GIL, но требуют больше ресурсов.
Выбор инструмента зависит от типа задачи (CPU-bound vs I/O-bound).