В чём разница между threading и multiprocessing?

Middle
413 просмотров
AFK Offer AI

threading — потоки в одном процессе, разделяют память, но GIL не даёт реального параллелизма для CPU-задач. multiprocessing — отдельные процессы с собственной памятью, реальный параллелизм на нескольких ядрах. Threading хорош для I/O-bound (сеть, диск), multiprocessing — для CPU-bound (вычисления, обработка данных). Минус multiprocessing: создание процесса дороже, передача данных через pickle (сериализация), больше памяти. Для Python в 90% случаев: I/O → asyncio/threading, CPU → multiprocessing.

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

Как работает Django ORM?