Многопоточные приложения (.Net, Windows) (часть вторая) (семинар 2012-06-19)
Материал из CustisWiki
Короткая ссылка: 2012-06-19-multitread-programming-dutikov
- Ведущий
- Дутиков Михаил
- Дата
- 19 июня 2012
Аннотация
Вторая часть семинара по-прежнему посвящена многопоточным приложениям исключительно на .Net, исключительно под Windows.
Эту часть начну с исправления ошибок первой части. Их я насчитал 4. Возможно, поймал и запомнил не все, потому что видеозапись рискнул посмотреть только один раз -- полгода назад.
Затем мы пройдемся по следующим темам (в программе возможны небольшие изменения):
- Асинхронная модель программирования (Зачем нужна? Зачем ее использовать сегодня? Какие есть альтернативы? Классический паттерн и APM на событиях, APM и вычислительные операции, APM и операции ввода-вывода. APM и эффективное использование потоков на серверах -- примеры на WCF и ASMX).
- Параллелизм. Закон Амдала. Статическая и динамическая декомпозиция (с маленьким примером на Task Parallel Library).
- Параллелизм. Пример из RMS.
- Типичные ошибки разработчиков (недостаток синхронизации, неконсистентность синхронизации, пропущенные сигналы, дедлоки, тустеп, инверсия приоритетов, лавина).
Материалы
Любые правки этой статьи будут перезаписаны при следующем сеансе репликации. Если у вас есть серьезное замечание по тексту статьи, запишите его в раздел «discussion».