|
Персональные инструменты |
![]() |
||
|
![]() |
![]() Многопоточные приложения (.Net, Windows) (семинар 2011-11-08)Материал из CustisWikiВерсия от 17:18, 16 февраля 2012; StasFomin (обсуждение | вклад) Короткая ссылка: 2011-11-08-multitread-programming-dutikov
АннотацияРазработка многопоточных приложений на .Net под Windows: основы Многопоточные приложения и машины с многоядерными процессорами повсюду. Уметь писать многопоточные приложения сегодня крайне важно, будь вы server-side программист или разработчик desktop-приложений. На этом (вводном в предмет) семинаре мы поговорим о том, как Windows управляет ресурсами процессоров, чтобы делать ту кучу всего, что она делает. Поговорим о системе приоритетов и о том, как она работает. Поглядим на кванты, потоки, переключения контекста. Затем перейдем со стороны операционной системы на сторону .Net и посмотрим на те вещи (местами страшные), которые торчат в сторону разработчиков .Net. Научимся организовывать взаимодействие потоков так, чтобы оно было корректным и эффективным (вопросов оптимизации и масштабируемости коснемся лишь слегка -- предмет отдельного разговора): тут покопаемся в примитивах синхронизации, некоторые вскроем. Разберем некоторые важные сценарии использования потоков. В том числе и вопрос -- создавать потоки явно или использовать пул? Немного покопаемся в пуле и поглядим на задачи, которые он облегчает. Посмотрим, чем он хорош и плох. Отдельно (краем глаза) поглядим на то, какие архитектурные паттерны существуют в области многопоточного программирования. В основном на те, что касаются создания потокобезопасного кода. Остановимся на уровне классов. Краткое содержание (по темам):
Слайды -- Файл:Multithreading.Seminar1.pptx. Материалы
Любые правки этой статьи будут перезаписаны при следующем сеансе репликации. Если у вас есть серьезное замечание по тексту статьи, запишите его в раздел «discussion». Репликация: База Знаний «Заказных Информ Систем» → «Многопоточные приложения (.Net, Windows) (семинар 2011-11-08)» |
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
![]() |