Спасибо за ликбез по мультипоточности ядер) "Немножко" дополню/скорректирую в режиме зануды: 1:00 Процесс и поток на процессоре может быть один, когда нет ОС. Это кучу МК (микроконтроллеров) и им подобных процов. Даже на х86 можно запустить монопроцесс и, обычно, вы его пускаете. BIOS Based I/O system не редко однопоточна+однопроцессна (но может мои данные устарели) 1:20 я бы прям в начале уточнил разницу между "работает" и "выполняется" ("исполняется"). Состояния ожидания тоже работа (это вам не зомби) и одновременно реально работать без переключений могут сотни процессов, а вот с выполнением да, только один в один фрейм исполнения. Хотя кому-то наоборот "программа исполняется" это существование процесса, а "программа работает" это греет воздух, трасформируя данные 3:20 строго говоря у программы может быть и 0 (ноль) потоков/процессов. Пример -- скрипты, которые не оперируют потоками/процессами, а исполняются родительским интерпретатором. 3:40 программа != процесс, 4:00 потоки так-то бывают разные и на сколько я знаю у потоков могут быть свои адресные пространства, но не уверен. Надо изучить что в каких ОС 4:36 гонки потоков можно, как избегать рядом подходов в мультипоточном прог-ии, так и исключать, так что проблема не совсем понятно, зачем сюда внесена, но при этом даже о законе Абеля ни слова( Часть про простаивающие ядра оставляю на совести автора, там у меня нет знаний, за тем и смотрел =) 12:43 асинхронность, а точнее асихронное программирование либо асихронное выполнение это *один из* способов решить проблему, как достичь большой отдачи на малом числе ядер/потоков. В принципе можно и 10к дескрипторов потоков создать и нихай ОС сама их рулит, если поток умеет переходить в ожидание, то даже разрулит) 14:10 высокоэффективные ли? Если замерять RPS, то с высокой верятностью при идентичной задаче JS можно отточить не лучше питона, тот не лучше явы (иногда питон быстрее даже правильно "сваренной" явы), а эти ребята всё равно уступят Go/RUST/C++/Fortran (я счас о пределе, который можно выжать, а не о качестве библиотек, которые делают разрыв обычно ещё сильнее) Эффективно на тех же JS/Python писать ёмкий код (мало строк, много логики и смысла), но тут ни JIT, ни процессоры, ни ОС ни при чём 14:50 это упрощение сродни Пи = 3, простите. EL исполняет задачи из очереди на исполнение по мере завершения исполнения текущих задач (в частности для JS это по одной задаче), а задачи, завершаемые не выходом, а переходом в ожидание, по мере удовлетворения ожидания, перекладывает в очередь ожидания и взятием из очереди на исполнение следующей задачи На этом всё, надеюсь уточнения кто-то дочитает, а не в в воздух это...
Немного сложновато, хотелось бы увидеть это ПРЯМ НА РЕАЛЬНОМ ПРИМЕРЕ! Прям наглядно увидеть многопоточность, сам ПОТОК/ПРОЦЕСС. Вот есть компьютер, и что мне делать чтобы увидеть этот поток, процесс?! Запустить программу что-ли? (Понятное дело что и сама ос что-то да выполняет, но как увидеть ожидание процесса, как увидеть что работает многопоточность НА РЕАЛЬНОМ ПРИМЕРЕ?!) МОЖЕТ МОЖНО ПРОГРАММУ НАПИСАТЬ И НАГЛЯДНО УВИДЕТЬ?!? Подскажите пожалуйста, буду благодарен!
@@danilakim5126 простейший варик: запускаете live-образ линукс-based (проще говоря убунты), ставите там htop, запускаете его. Там можно наглядно увидеть нити (posix-based threads, по-нашему потоки) и их родительские процессы. Можно изучить и препарировать их, если будет желание. Ещё вариант тот же Process Explorer вместо классического Task Manager виндового способен показать потоки виндовых процессов (не моя специфика, не знаю на сколько глубоко там можно копать) А так, на хабре том же найти реально)
Сделаю паузу и скажу. Когда увлекался своим ZX-Spectrum-ом, изучал ассемблер. Благодаря этому, не плохо понимаю тему прерываний, т.к. там это было оооочень хорошо видно. Изначально, на zx работает только одна прога. По учебнику, делал на машинных кодах часы, которые работали в фоне в системе. Для это создаётся прерывание, у которого есть свой номер, как сейчас сказали бы, свой ID. Когда сделал эти часы, которые висят и не пропадают, был в восторге)
Господа,а можно поподробнее про прерывания? Прерывание разве можно создавать? Прерывания в zx spectrum это аналог программы или это всё таки ближе к callback функции?
Когда набираю в поиске какую-то тему, и в ленте вижу твоë видео об этом - для меня это как явная подсветка - "Здесь точно будет качественное разъяснение." И так и получается.
Пересмотрел кучу лекций и подкастов про многопроцессность, многопоточность и асинхронность. Но все было очень сложно и заурядно. Здесь просто и понятно. Спасибо огромное за видео, у тебя талант объяснять!
Ты очень круто всё объясняешь! Очень нравится структура твоих видео! Нет никакой воды из разряда «что бы установить пакет, используйте пип инсталл…» но в тоже время нет «эээ ну тут просто переписываете ядро». Всё очень понятно, доступная информация
никогда не пишу комментарии, то здесь просто не смогла удержаться. Качество видео на высшем уровне, очень редко встретишь такое. Информация разложена по полочкам, максимально понятно))
Ну это всего лишь вводный материал, хотя и достаточно качественный. В ВУЗ-ах часто смотрят более углубленно в проблемы и применения многопоточности, асинхронности(Если это нормальный ВУЗ с хорошим преподавательским составом). Не стоит полностью обесценивать знания которые дает учебное заведение, если оно хорошее(а студент нет). Обидно, если за пол года в учебном заведении тебе действительно рассказали только эти вещи. Такие вузы я называю шарагами
Отличный пример отличия async от thread, и ведь знал что оно так происходит, но когда спрашивали про разницу, лез куда-то вглубь, не задумываясь об этом моменте
Очень понятно все разложил, спасибо большое, как раз пытаюсь учить питон, Я пока на синтаксисе, но думаю уже с этих пор нужно понимать какие технологии испольовать в коде, чтобы на выходе получить нормальное приложение, с высокой эффективностью,однозначно, лайк
Интересная тема, жду продолжения и желательно с реальным примером, ну например по описанной задаче обработки http-запросов, трансляци их к субд и выдаче результата клиенту
Шик, как раз то о чём я просил в комментариях)) Классная лекция! Было бы круто добавить визуализацию, какие-нибудь простые анимированные схемы, но может это я зажрался просто)
Опа))) пол года назад собирался для себя рисёрч делать по этому вопросу, задавал вопросы парням в чатах в телеге, но так достаточно времени на это и не выделил. Спасибо)))
Хорошая подача! Спасибо за информацию, подписался на канал! Было бы неплохо ввести какие-то графические схемы - визуализация помогла бы лучше понять слова и зависимость понятий поток/процесс/ядро/асинхронность
Крутое видео, очень интересно слушать! Будет интересно затронуть обзор реализации асинхронности в только что вышедшей Django 3.1 - что можно с ее помощью делать, что нельзя (напр., пока нет асинхронного ORM, вебсокетов), как отличается деплой, ощущается ли разница в скорости работы с обычным синхронным подходом.
Год назад смотрел видео))) Сейчас пересматриваю, и понимаю значительно больше уже) Короче, я на этих видео понял суть программирования! Спасибо большое, это значительно упростило мне жизнь!)))
Мой курс «Хардкорная веб-разработка» - course.to.digital
Вжух!
Тема интересная, ждем продолжения.
Спасибо за ликбез по мультипоточности ядер)
"Немножко" дополню/скорректирую в режиме зануды:
1:00 Процесс и поток на процессоре может быть один, когда нет ОС. Это кучу МК (микроконтроллеров) и им подобных процов. Даже на х86 можно запустить монопроцесс и, обычно, вы его пускаете. BIOS Based I/O system не редко однопоточна+однопроцессна (но может мои данные устарели)
1:20 я бы прям в начале уточнил разницу между "работает" и "выполняется" ("исполняется"). Состояния ожидания тоже работа (это вам не зомби) и одновременно реально работать без переключений могут сотни процессов, а вот с выполнением да, только один в один фрейм исполнения. Хотя кому-то наоборот "программа исполняется" это существование процесса, а "программа работает" это греет воздух, трасформируя данные
3:20 строго говоря у программы может быть и 0 (ноль) потоков/процессов. Пример -- скрипты, которые не оперируют потоками/процессами, а исполняются родительским интерпретатором.
3:40 программа != процесс,
4:00 потоки так-то бывают разные и на сколько я знаю у потоков могут быть свои адресные пространства, но не уверен. Надо изучить что в каких ОС
4:36 гонки потоков можно, как избегать рядом подходов в мультипоточном прог-ии, так и исключать, так что проблема не совсем понятно, зачем сюда внесена, но при этом даже о законе Абеля ни слова(
Часть про простаивающие ядра оставляю на совести автора, там у меня нет знаний, за тем и смотрел =)
12:43 асинхронность, а точнее асихронное программирование либо асихронное выполнение это *один из* способов решить проблему, как достичь большой отдачи на малом числе ядер/потоков. В принципе можно и 10к дескрипторов потоков создать и нихай ОС сама их рулит, если поток умеет переходить в ожидание, то даже разрулит)
14:10 высокоэффективные ли? Если замерять RPS, то с высокой верятностью при идентичной задаче JS можно отточить не лучше питона, тот не лучше явы (иногда питон быстрее даже правильно "сваренной" явы), а эти ребята всё равно уступят Go/RUST/C++/Fortran (я счас о пределе, который можно выжать, а не о качестве библиотек, которые делают разрыв обычно ещё сильнее) Эффективно на тех же JS/Python писать ёмкий код (мало строк, много логики и смысла), но тут ни JIT, ни процессоры, ни ОС ни при чём
14:50 это упрощение сродни Пи = 3, простите. EL исполняет задачи из очереди на исполнение по мере завершения исполнения текущих задач (в частности для JS это по одной задаче), а задачи, завершаемые не выходом, а переходом в ожидание, по мере удовлетворения ожидания, перекладывает в очередь ожидания и взятием из очереди на исполнение следующей задачи
На этом всё, надеюсь уточнения кто-то дочитает, а не в в воздух это...
Немного сложновато, хотелось бы увидеть это ПРЯМ НА РЕАЛЬНОМ ПРИМЕРЕ! Прям наглядно увидеть многопоточность, сам ПОТОК/ПРОЦЕСС. Вот есть компьютер, и что мне делать чтобы увидеть этот поток, процесс?! Запустить программу что-ли? (Понятное дело что и сама ос что-то да выполняет, но как увидеть ожидание процесса, как увидеть что работает многопоточность НА РЕАЛЬНОМ ПРИМЕРЕ?!) МОЖЕТ МОЖНО ПРОГРАММУ НАПИСАТЬ И НАГЛЯДНО УВИДЕТЬ?!? Подскажите пожалуйста, буду благодарен!
@@danilakim5126 простейший варик: запускаете live-образ линукс-based (проще говоря убунты), ставите там htop, запускаете его. Там можно наглядно увидеть нити (posix-based threads, по-нашему потоки) и их родительские процессы. Можно изучить и препарировать их, если будет желание.
Ещё вариант тот же Process Explorer вместо классического Task Manager виндового способен показать потоки виндовых процессов (не моя специфика, не знаю на сколько глубоко там можно копать)
А так, на хабре том же найти реально)
Братан ты бы вышел на улицу воздухом подышал, пивка попил
Ты классный зануда, побольше бы таких. Накинул материала нормально.Алкаша сверху, который про пиво говорит не слушай)
@@Rulezzz3 не, я просто писал сидя на верандочке) С кальянчиком)
Сделаю паузу и скажу. Когда увлекался своим ZX-Spectrum-ом, изучал ассемблер. Благодаря этому, не плохо понимаю тему прерываний, т.к. там это было оооочень хорошо видно. Изначально, на zx работает только одна прога. По учебнику, делал на машинных кодах часы, которые работали в фоне в системе. Для это создаётся прерывание, у которого есть свой номер, как сейчас сказали бы, свой ID. Когда сделал эти часы, которые висят и не пропадают, был в восторге)
А по какому учебнику учился? Интересно, т.к. сам на спектруме ассемблер познавал в 90-х
У меня было наоборот: понимание устройства event loop помогло разобраться с прерываниями на ардуино)))
Господа,а можно поподробнее про прерывания? Прерывание разве можно создавать? Прерывания в zx spectrum это аналог программы или это всё таки ближе к callback функции?
@@Enerdzizer в спектруме, прерывание задаётся в каком-то регистре и вроде указывается адрес перехода. Уже не помню
Спасибо за видео! Важная тема, давно жду ее)
Когда набираю в поиске какую-то тему, и в ленте вижу твоë видео об этом - для меня это как явная подсветка - "Здесь точно будет качественное разъяснение."
И так и получается.
Спасибооо!
Продолжай в тоже духе! Хороших лекторов не так уж много!
Спасибо!
th-cam.com/users/shortsHpwZpcfOxto?feature=share
@@t0digital Поддерживаю
Наверное самое лучшее видео по этой теме на ютубе! Все четко и понятно!
Спасибооо!
Пересмотрел кучу лекций и подкастов про многопроцессность, многопоточность и асинхронность. Но все было очень сложно и заурядно. Здесь просто и понятно. Спасибо огромное за видео, у тебя талант объяснять!
Спасибо большое, очень приятно! Буду продолжать
Ты очень круто всё объясняешь! Очень нравится структура твоих видео! Нет никакой воды из разряда «что бы установить пакет, используйте пип инсталл…» но в тоже время нет «эээ ну тут просто переписываете ядро». Всё очень понятно, доступная информация
Ждём следующее видео! Тема очень интересная, интересно услышать твои мысли!
Спасибо!
Сейчас это точно лучший канал о программировании в Русскоязычном ютюбе!
Очень приятно получать такую оценку работы, спасибо!
Благодарю за ваш труд!
никогда не пишу комментарии, то здесь просто не смогла удержаться. Качество видео на высшем уровне, очень редко встретишь такое. Информация разложена по полочкам, максимально понятно))
Спасибо, очень приятно!
Комментарий ради большего раскрытия асинхронности
Спасибо :)!
Супер!
Как раз по чуть чуть нахватал и так удачно залетел на это видео!
Спокойно четко понятно.
Спасибо.
Супер, самая не скучная лекция :)
Полугодовой предмет ВУЗа в 16 минутах, понятным языком. Вот что значит Питонист вещает)
Ну это всего лишь вводный материал, хотя и достаточно качественный. В ВУЗ-ах часто смотрят более углубленно в проблемы и применения многопоточности, асинхронности(Если это нормальный ВУЗ с хорошим преподавательским составом). Не стоит полностью обесценивать знания которые дает учебное заведение, если оно хорошее(а студент нет).
Обидно, если за пол года в учебном заведении тебе действительно рассказали только эти вещи. Такие вузы я называю шарагами
th-cam.com/users/shortsHpwZpcfOxto?feature=share
@@romanwednesday4401шёл 2024, похоже остались одни шараги)
@@romanwednesday4401 вуз это полное гавно
Отличный способ подачи, без заумных фраз, но и без ненужного разжевывания простых вещей, жду ещё
Спасибо, рад, что понравилось!
Здорово. Отличный ввод в многопоточность и асинхронность. Спасибо.
Рад, что полезно!
Спасибо за подробное и понятное описание!
Интересные все видео. Спасибо. Много полезного, без понтов, доступно и профессионально.
Спасибо! Рад, что полезно
Всё предельно ясно и по полочкам, спасибо большое!
Рад, что полезно! Спасибо!
Отличный пример отличия async от thread, и ведь знал что оно так происходит, но когда спрашивали про разницу, лез куда-то вглубь, не задумываясь об этом моменте
Классный Канал , Рад что познакомился с Автором. Очень интересно
Спасибооо! Приятно
Спасибо , надеюсь разберусь в теме асинхронности с нуля до полного понимания благодаря вашим роликам. Перехожу к следующему )
Спасибо.. Внятно, понятно и без воды.. Талант педагога налицо!
Спасибооо!
Алексей! Спасибо за ваши видео! Почаще бы.
Очень понятно все разложил, спасибо большое, как раз пытаюсь учить питон, Я пока на синтаксисе, но думаю уже с этих пор нужно понимать какие технологии испольовать в коде, чтобы на выходе получить нормальное приложение, с высокой эффективностью,однозначно, лайк
Ну наконец то нашел нормальное объяснение, спасибо Вам огромное!!
16 минут прошли незаметно. Очень интересно!
Рад, что интересно:)!
Как же приятно тебя слушать! Спасибо и удачи в развитии!
Спасибо за информацию. Легко и интересно слушать. То что искал!
Самое чёткое и ясное введение в тему какое только встречал!
спасибо большое за простое но в то же время содержательное видео!
Просто лучшее объяснение из всех, что я смотрел, все четко и структурированно. Спасибо огромное!
Не ожидал, от канал с таким количеством подписчиков, такого качества видео, продолжайте в том же духе!
Спасибо! Подписчики тоже понемногу растут, что приятно🙏
Спасибо, уважаемый. Выделите, пожалуйста, для этой темы отдельный плейлист.
так и будет:) спасибо!
@@t0digital Спасибо, тема актуальная для многих. Уверен, Ваш опыт будет полезен подписчикам.
Пересматриваю этот видос в 3 раз. Он как хороший фильм или книга, каждый раз понимаю его по новому
Рад, что полезно! Спасибо!
@@t0digital вам спасибо :)
Невероятно интересно! Спасибо за то что объясняете все таким простым и понятным языком!!!
Спасибо! Рад, что нравится:)
th-cam.com/users/shortsHpwZpcfOxto?feature=share
Алекс! Это было самое понятное объяснение на тему GIL и async которое я видел :) Продолжай снимать!
Спасибо:)!
Спасибо за разъяснение такой интересной, непростой, но важной темы.
Спасибо! Ждем больше примеров на практике
Полезная тема! Для веб-приложений асинхронность важнее многопоточности и в этом надо разбираться. Годно!
Без лишней воды. Спасибо огромное за такие ценные рассуждения.
Интересная тема, жду продолжения и желательно с реальным примером, ну например по описанной задаче обработки http-запросов, трансляци их к субд и выдаче результата клиенту
всё будет:)
Спасибо большое! У меня была каша в голове по этой теме, никак не мог понять как это все связано
Спасибо тебе, добрый человек, спустя 4 года.
Большое спасибо за доступное объяснение таких важных вещей!
Спасибо, рад, что понравилось!
Первой барьер в 1 Гц прошла AMD.
Они чуть-чуть опередили тогда Intel
Чуть чуть-чутей?))
Уважение за видео, было интересно))
Спасибо!
Супер-информативное видео. Новичкам сэкономит много времени. Наконец-то понял, что такое логические ядра. Благодарю.
Рад, что полезно!
Спасибо! Ждём обзор способов межпоточного и межпроцессного взаимодействия
Без лишней воды. Спасибо огромное за инфо.
Очень интересный материал, хотелось бы больше услышать про то, как происходит работа процессора на физическом уровне!
Шик, как раз то о чём я просил в комментариях)) Классная лекция! Было бы круто добавить визуализацию, какие-нибудь простые анимированные схемы, но может это я зажрался просто)
Спасибо! Вот появится если у нас монтажёр, тогда будут красивости, у меня времени не хватает на анимации, к сожалению
Поддерживаю. Визуализация каждой отдельной подтемы еще больше бы добавила информативности такому хорошему ролику.
На одном дыхании посмотрел)
Очень классно, продолжай)
Спасибо! На бусти уже есть продолжение, скоро появится и на канале
Круто получилось - просто и понятно. Ждем подобные разборки. Спасибо )
Спасибо!
Каждый раз слушаю с большим интересом) спасибо)
Спасибооо!
Просто красавчик!
Объяснил сложные вещи доступным языком! Спасибо!
Спасибо!
Опа))) пол года назад собирался для себя рисёрч делать по этому вопросу, задавал вопросы парням в чатах в телеге, но так достаточно времени на это и не выделил. Спасибо)))
Прокачаем эту тему еще глубже в следующих видео:)
@@t0digital Ну что же))) Москва не сразу строилась))) спасибо за труд)))
Спасибо! Вы отлично объясняете! Ценный материал!
Отличная тема! Было бы интересно ещё о GUI посмотреть на примере PyQT/Tk/PySympleGUI
наконец-то хоть где-то нормально рассказали об асинхронность. Ждём следующего видео.
Спасибо! Продолжение следует:)
Спасибо! Мега крутой теоритический видос! Осталось разобраться с практикой
Спасибо! Скоро будет практика
Спасибо большое, ждём продолжения
спасибо, скоро продолжение, на бусти уже кое-что есть:)
Благодаря таким авторам, хочется изучать тему. Спасибо! Смотрим дальше
Спасибо большое, теперь наконец-то стало понятно! )
Не хватало визуализации для наглядности, а в целом ОООчень крутое видео о важном.
Большое спасибо.
Алексей, спасибо, смотрю все твои видео подряд, старые еще надо закончить смотреть. ) Невероятно полезно, особенно Джуну. ) Продолжай дальше!
Будем продолжать!
Понятно и познавательно. Спасибо за полезную информацию!
Рад, что полезно!
Хорошая подача! Спасибо за информацию, подписался на канал!
Было бы неплохо ввести какие-то графические схемы - визуализация помогла бы лучше понять слова и зависимость понятий поток/процесс/ядро/асинхронность
да, тоже ищу визуализацию
Какой-нибудь комментарий для быстрого развития канала и в поддержку новых интересных полезных видео
Спасибооо!
Спасибо! Отличную тему затронули, надеюсь будет продолжение. 🙏
Будет обязательно!
Всё детально и ясно. Спасибо!
Очень доступно ^_^ спасибо!
Юхууу, спасибо! 🙏
Спасибо большое за ваши поучительные материалы
Все очень круто, отличный формат и подача! Спасибо, большое!
Спасибооо!
Спасибо за теорию, теперь чуточку лучше понимаю тему многопоточности и асинхронности
Круто! Все очень доступно и понятно изложено! Спасибо!
Смотрел часовую лекцию, все запутанно и непонятно, а тут за 16 минут, спасибо
Рад, что понравилось:)!
отличная лекция! впрочем как и всегда. спасибо за твои труды и доступное изложение сложных тем.
Спасибо, рад, что полезно!
Очень доступно объяснил, спасибо!
Клевое видео для погружения в тему!
Спасибо! Очень полезно!
спасибо за "асинхронность"!видео с темой
Крутое видео, очень интересно слушать! Будет интересно затронуть обзор реализации асинхронности в только что вышедшей Django 3.1 - что можно с ее помощью делать, что нельзя (напр., пока нет асинхронного ORM, вебсокетов), как отличается деплой, ощущается ли разница в скорости работы с обычным синхронным подходом.
планирую такой материал, да
Спасибо огромное за Ваши труды. Очень интересно и понятно)
Спасибооо!
Хороший контент, ждём продолжения
Супер! Очень интересно и доходчиво
Добрый день, видео интересное и познавательное и вызывает ещё больше вопросов😁. Буду ждать следуещее видео)
Спасибо!
как всегда - шикарно и доступно. но было бы ещё лучше, если бы добавили какие-нибудь визуальные пояснения, простенькие схемки и тд
Круто. То что доктор прописал!
Год назад смотрел видео))) Сейчас пересматриваю, и понимаю значительно больше уже) Короче, я на этих видео понял суть программирования! Спасибо большое, это значительно упростило мне жизнь!)))
Алексей, молодец! Здорово рассказываешь, просто о сложном! Интересная тема и все по полочкам.
Спасибо!
th-cam.com/users/shortsHpwZpcfOxto?feature=share
Благодарю за то, что вы делаете!!!!
Спасибо! Будем продолжать
Спасибо за каждое видео, очень приятно слушать и смотреть! И темы всегда прям то, что надо!
th-cam.com/users/shortsHpwZpcfOxto?feature=share
th-cam.com/users/shortsHpwZpcfOxto?feature=share
Спасибо за хороший материал, очень доступно для начинающих!
Лучший! Бооольше годного контента по Python 😱🤓