ИТМО - Проектирование ПО - Лекция 9 - Процессы, потоки - синхронизация и блокирование. Асинхронность

preview_player
Показать описание
00:00 Синхронные и асинхронные процессы (рассматриваем на примере обмена письмами)
8:52 Написание простой программы. Один процесс, один поток
11:55 Что такое поток исполнения
12:50 Многопоточная программа. Посчитать сумму элементов массива
15:20 Добавление потоков для ускорения программы
18:50 Пример создания потоков
19:32 Процессы и потоки. Общая/разделяемая (shared) память потоков
21:50 Память потока - стек.
23:55 Условия гонки (race contition), обращение потоков к разделяемой памяти
26:22 Примитивы синхронизации и почему они нужны
27:15 Что такое критическая секция
29:15 Семафор
33:15 Закон Амдала - как посчитать ускорение вашей программы при добавлении вычислительных ядер
36:40 Блокировка потока (thread blocking).
40:00 Блокирующие операции
42:00 Почему бывает выгодно блокировать потоки? Почему это может быть плохо?
46:34 Что может блокировать потоки? (рассматриваем документацию IDEA)
48:20 Lock()
51:00 tryLock()
52:48 Флаг прерывания и InterruptedException
58:30 Class Socket
1:00:15 Что делать с блокировкой потоков. Рекомендации
1:02:00 Spring Framework - откуда берется поток в методе ResrController?
1:05:05 «Сколько пользователей получится обслуживать одновременно, если создать на каждого отдельный поток?»
1:07:58 Что такое порт (tcp port)
1:10:42 Где указывается порт
1:12:32 Как клиентское приложение коммуницирует с нашим?
Рекомендации по теме
Комментарии
Автор

Всем привет! Мы разработали сайт для проведения наших курсов - quipy.ru. Здесь студенты совместно с преподавателями могут обсуждать детали проектов, ставить задачи, следить за их выполнением.
В Quipy можно управлять любыми проектами, не только образовательными, его даже можно использовать для ведения списка личных дел. Сайт активно разрабатывается, мы готовы подстраиваться под пользователей, улучшать интерфейс и расширять функциональность - всегда рады обратной связи и любым предложениям о сотрудничестве.

sukhoa