Очередное видео курса "Асинхронность в Python" на примере пакетов treading, multiprocessing, asyncio. Ссылка на статью: it4each.com/bl... Сылка на курс: it4each.com/se...
Пікірлер: 9
@fealllback5539Ай бұрын
очень хороший материал, спасибо!
@podgorniy.r6 ай бұрын
Отличный материал Пока самое лучшее и краткое, что я смотрел на тему асинхронности
@IT4eachcom6 ай бұрын
Спасибо)
@non5309 Жыл бұрын
Конкуренция довольно удачное определение, т.к. здесь конкуренция это попеременный доступ к вычислительным ресурсам.
@IT4eachcom Жыл бұрын
Конкуренция по определению - это процесс взаимодействия между двумя или более организациями или отдельными лицами, которые стремятся достичь одних и тех же целей или удовлетворить одни и те же потребности, претендуя на ограниченные ресурсы. В рамках конкуренции участники стремятся превзойти своих конкурентов, улучшить свою позицию на рынке, привлечь больше клиентов и увеличить свою долю рынка. У потоков нет цели опередить или превзойти друг друга. Более того, они не самостоятельны в принципе - кому из потоков работать, а кому "отдыхать" "решают" не потоки. За них это делает операционная система. Поэтому понятие "конкуренции" в отношении потоков - это не более, чем ошибочный перевод термина *concurrency* (параллелизм, или точнее, квази-параллелизм).
@Делакруа́-ы9щ Жыл бұрын
@@IT4eachcom программирование с элементами философии)
@IT4eachcom Жыл бұрын
Тогда уж скорее "с элементами лингвистики")
@АнтонКородян3 ай бұрын
Добрый день, как я понял на видео на 10:41 минуте у вас замер происходит через декоратор только функции main а не всего скрипта асинхронного со всеми его задачами. Верно?
@IT4eachcom3 ай бұрын
Здравствуйте! Да, декоратор в обоих примерах (потоки threads и пакет asyncio) применяется только к "быстрой" части скрипта, чтобы доказать: принцип асинхронности позволяет выполнить основной код (функция main / карутина main), не дожидаясь завершения выполнения "медленных" частей кода (потоки в threads и карутины в asyncio). Если же Вас интересует общее время выполнения всего скрипта (которое определяется временем выполнения самого долгого потока или карутины), то для этого придётся существенно изменить код: 1. В потоках задержать выполнение основного подока до полного завершени вспомогательных потоков с помощью метода .joun() (как это сделать рассказано дальше) 2. В пакете asyncio - перенести декоратор на карутину run()