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

Что лучше использовать для выполнения вычислительно затратных операций в Python: многопоточность или многопроцессность

Для вычислительно затратных операций в Python лучше использовать многопроцессность, так как GIL (Global Interpreter Lock) блокирует выполнение кода Python в нескольких потоках одновременно. Многопроцессорность позволяет обойти это ограничение, так как каждый процесс имеет свой GIL.

Пример с multiprocessing:

python
from multiprocessing import Pool

def compute_square(n):
    return n * n

if __name__ == '__main__':
    with Pool(4) as p:
        results = p.map(compute_square, range(10))
    print(results)  # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

Многопоточность (threading) подходит для I/O-bound задач (например, сетевые запросы), но не для CPU-bound операций.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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