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

Вычислительную операцию лучше делать на нескольких процессах или на нескольких потоках

Выбор между процессами и потоками зависит от типа задачи:

Для CPU-bound задач (вычисления, обработка данных):
Лучше использовать процессы (multiprocessing), так как они обходят GIL и используют несколько ядер CPU.
Пример:

python
from multiprocessing import Pool

def square(x):
return x * x

with Pool(4) as p:
result = p.map(square, range(1000))

text

**Для I/O-bound задач (сеть, файлы, БД):**  
Подойдут потоки (`threading`), так как они легковесны и эффективны при ожидании.  
Пример:
```python
from threading import Thread
import requests

def fetch(url):
    response = requests.get(url)
    print(response.status_code)

threads = [Thread(target=fetch, args=(url,)) for url in urls]
for t in threads: t.start()
for t in threads: t.join()

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

  • Процессы изолированы (нет общего состояния), потоки разделяют память.
  • Процессы дороже создавать, потоки — дешевле.
  • GIL ограничивает потоки в CPU-bound задачах.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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