Конкурентность и параллельность

Подкрадываясь к асинхронному, многопоточному и параллельному коду нужно сначала изучить основы и понять используемые термины. Конкурентность (concurrency) - запуск на выполнение сразу нескольких задач (не обязательно в 1 момент времени выполняется несколько). Зависит от ПО. Первые ОС с процессором без ядер -использовали только ее. Параллельность (parallel) - конкурентность, когда 2 задачи выполняются одновременно. Зависит от железа. Вы не можете одновременно (!) выполнять больше задач, чем есть ядер в системе. GIL (Global Interpreter Lock) - глобальная блокировка интерпретатора, механизм гарантирующий, что в любой момент времени выполняется только 1 инструкция в питоне. Задачи для Python могут быть: CPU-bound - зависит от мощности процессора IO-bound - зависит от системы ввода/вывода threading - IO-bound задачи asyncio - IO-bound задачи multiprocessing - любые задачи Читать! Фаулер М. “Asyncio и конкурентное программирование на Python&quo
Back to Top