CLRium #6: Concurrency & Parallelism. Два дня: от процессора до async/await
Как вы уже заметили, формат семинара эволюционировал и принял новую форму: каждый последующий семинар теперь посвящается целиком и полностью какой-либо теме. Пятый был посвящен теме Garbage Collector и за 10 часов раскрыл всё, что только возможно, оставив за скобками совсем уж частные вопросы. А его кульминацией был доклад про практическое применение (вопрос, который интересует каждого — "зачем всё это знать??")
Второй вопрос, который, как мне кажется, хочется знать всем, но на это, как правило, нет времени — это вопрос работы в многопоточном коде и вопрос планирования и поддержки его архитектуры. Вопросы эти — достаточно сложные, пугающие, а зачастую — вообще отталкивающие. И ровно поэтому дальше простейших конструкций синхронизации обычный разработчик не уходит. А ведь вокруг столько всего интересного :)
Не так давно я понял одну казалось бы простую истину: чтобы понимать, как работают любые абстракции верхнего уровня, необходимо понимать, как работают абстракции нижнего уровня. Другими словами, чтобы понимать, как работать с многопоточным кодом на уровне async/await, надо знать примитивы синхронизации и прочие основы работы многопоточного кода в .NET как минимум. А что еще лучше — совсем немного из уровня операционной системы. После чего большинство абстракций верхнего уровня станут понятны автоматически.
- 30 ноября в Санкт-Петербурге, c 09:00 до 20:00
- 07 декабря в Москве, c 09:00 до 20:00
На новом семинаре, который на этот раз касается не только платформы .NET, как это было ранее, но охватывает по сути любые платформы (ведь многопоточный код работает на базе абстракций нижнего уровня) мы раскроем эту тему максимально подробно:
План семинара
Основы
BCL, Schedulers, Thread Locals, STA/MTA...
Платформенные механики
Lock-free алгоритмы
PLINQ / async-await
Конечно же, мы не сможем раскрыть тему Concurrency за один день: эта тема слишком обширна и многогранна. Именно по этой причине CLRium #6 будет идти два дня.
Контакты
- Сайт CLRium #6: Concurrency & Parallelism
sunex.development@gmail.com -
+7 (921) 948-16-08