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

Для вычислительной задачи лучше задействовать несколько процессов или несколько потоков

В Python для CPU-bound задач (интенсивные вычисления) лучше использовать процессы из-за GIL (Global Interpreter Lock), который блокирует выполнение потоков при работе с CPU. Для I/O-bound задач (ожидание ввода-вывода) подойдут потоки, так как GIL освобождается во время ожидания.

Пример для процессов (CPU-bound):

python
from multiprocessing import Pool

def square(x):
    return x * x

if __name__ == '__main__':
    with Pool(4) as p:
        print(p.map(square, range(10)))

Пример для потоков (I/O-bound):

python
from threading import Thread
import requests

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

threads = [Thread(target=fetch, args=('https://example.com',)) for _ in range(5)]
for t in threads:
    t.start()
for t in threads:
    t.join()
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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