Published On Sep 12, 2023
Подкрадываясь к асинхронному, многопоточному и параллельному коду нужно сначала изучить основы и понять используемые термины.
Конкурентность (concurrency) - запуск на выполнение сразу нескольких задач (не обязательно в 1 момент времени выполняется несколько). Зависит от ПО. Первые ОС с процессором без ядер -использовали только ее.
Параллельность (parallel) - конкурентность, когда 2+ задачи выполняются одновременно. Зависит от железа. Вы не можете одновременно (!) выполнять больше задач, чем есть ядер в системе.
GIL (Global Interpreter Lock) - глобальная блокировка интерпретатора, механизм гарантирующий, что в любой момент времени выполняется только 1 инструкция в питоне.
Задачи для Python могут быть:
CPU-bound - зависит от мощности процессора
IO-bound - зависит от системы ввода/вывода
threading - IO-bound задачи
asyncio - IO-bound задачи
multiprocessing - любые задачи
Читать!
Фаулер М. "Asyncio и конкурентное программирование на Python"
https://docs.python.org/3/glossary.ht...
https://docs.python.org/3/c-api/init....
Присоединяйтесь к помощи каналу, будет интересно)
✔️Бусти https://boosty.to/python_russian/donate
✔️Юмани 410011506612886
Будь первым везде и всегда, включай уведомления о новых выпусках 🔔
Смотри там где удобно🤩
✔️ https://vk.com/python_russian
✔️ https://boosty.to/python_russian
✔️ / pythonrussian
✔️ https://t.me/python_russian
✔️ https://dzen.ru/python_russian
✔️ https://rutube.ru/channel/24346352/
#Python #PythonRussian #PyCharm