13. Асинхронный ввод/вывод. Корутины

preview_player
Показать описание

Лекция №13 курса «Параллельное программирование» (весна 2022)
Преподаватель — Евгений Калишенко
Рекомендации по теме
Комментарии
Автор

Спасибо! Потрясающий цикл лекций и эта в частности!

ltulnjf
Автор

Очень зашла лекция, спасибо за материал. ☝️🤗

evgenykonovalov
Автор

02:00 Блокирующие и неблокирующие потоки
20:00 Асинхронный вывод

deniskaydunov
Автор

Смотрел лекцию по асинхронным процессам и вот там такое встретилось - если функция заблокировалась, например, функция приема чего то там по сети, а ни одного клиента нет, то мы висим и ждем, и тогда происходит вот что - операционная система понимает это и чтоб не терять время и не висеть просто так, она делает context switch (переключение контекста). И вот у меня такой вопрос - А как она понимает, что вот уже пора делать это переключение контекста? Там зашита какая то величина таймера? Ну типа - любой функции разрешено висеть не больше 1 секунды, если 1 секунда прошла, а функция не разморозилась (так как она все еще ожидает что то там по сети, а это что то там так и не приходит и не приходит), то операционная система говорит - слышь ты, хорош тут висеть, я тебя временно снимаю с процессора, там есть другие задачи. То есть мне не понятно конкретно вот что - кто решает сколько можно висеть функции на блокировке ? Это зашито прям в ядре ОС?

TheTimur
Автор

Completion event queue - Очередь событий завершения

konstantinchvilyov
Автор

Непонятно, почему context switch получается минимален, если горячие потоки всё равно будут вынуждены переключаться. Или дело в системных вызовах, когда тот же epoll один раз сработает и потоки уже получат над чем работать, нежели каждый раз будет бросаться system call при любом accept и т.д.?

aalexren
Автор

chunk [ʧʌnk] часть, кусок, ломоть, порция.

konstantinchvilyov
Автор

TCP - Transmission Control Protocol — протокол управления передачей.
Механизм TCP предоставляет поток данных с предварительной установкой соединения, осуществляет повторный запрос данных в случае потери данных и устраняет дублирование при получении двух копий одного пакета, гарантируя тем самым (в отличие от UDP) целостность передаваемых данных и уведомление отправителя о результатах передачи.

konstantinchvilyov
Автор

UDP - User Datagram Protocol — протокол пользовательских записей данных.
Записи данных могут прийти не по порядку, дублироваться или вовсе исчезнуть без следа, но гарантируется, что если они придут, то в целостном состоянии.

konstantinchvilyov
Автор

Asynch operation processor - обслуживатель неодновременной работы.

konstantinchvilyov
Автор

42:43 "...из адекватного...", какой-то программистский снобизм

NO
Автор

motivation [məʊtɪˈveɪʃn] побуждение, стремление, побудительная причина, движущая сила

konstantinchvilyov
Автор

Asynch. or Async.[əˈsɪŋk] is abbreviation of Asynchronous.[eɪˈsɪŋkrənəs] - разновременный, неодновременный.

konstantinchvilyov
Автор

initiator [ɪˈnɪʃɪeɪtə] организатор, зачинщик, зачинатель, основоположник

konstantinchvilyov
Автор

orthogonal [ɔːˈθɒgən(ə)l] независимый, перпендикулярный, прямоугольный

konstantinchvilyov
welcome to shbcf.ru