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

В чем разница между асинхронностью и параллельностью

Асинхронность и параллельность - разные подходы к обработке задач:

Асинхронность - однопоточный подход, где задачи выполняются неблокирующе, переключаясь между собой при ожидании I/O. Использует event loop и корутины. Пример в Python:

python
import asyncio

async def task():
    print("Start")
    await asyncio.sleep(1)  # Неблокирующее ожидание
    print("End")

asyncio.run(task())

text

**Параллельность** - одновременное выполнение задач на разных ядрах/процессорах с использованием многопоточности или многопроцессорности. Пример:

```python
from multiprocessing import Pool

def task(x):
    return x*x

with Pool(4) as p:
    print(p.map(task, [1, 2, 3]))

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

  • Асинхронность эффективна для I/O-bound задач, параллельность - для CPU-bound
  • Асинхронность работает в одном потоке, параллельность использует несколько
  • Асинхронность требует поддержки на уровне языка (async/await), параллельность - системных ресурсов
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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