CLRium #6: 9 дней до старта

в 20:24, , рубрики: .net, C#, Блог компании Семинары Станислава Сидристого, Программирование

29-30 ноября в Санкт-Петербурге и 06-07 декабря — в Москве мы запустим шестой семинар по .NET. У нас будет: 700 слушателей, огромные залы, много кофе и зудящее чувство знаний. Чтобы собрать рекордно-длинную программу и количество слушателей мы работали рекордные 5 месяцев. До старта — 9 дней.

CLRium #6: 9 дней до старта - 1

Пока шли приготовления к семинару, взор упал на lock(). И хотя про него сказано казалось бы, много, у меня, как у любителя копнуть в сорцы, возникло непреодолимое желание рассказать, как он устроен. Ведь это — гибридный примитив синхронизации, учитывающий и работу планировщика потоков ОС и lock convoy и starvation. В общем, заглянув в исходники, я проникся уважением к его авторам настолько, что пропал всякий внутренний страх его использовать: просто потому, что я досконально понял, какие конкретно сценарии для него, а какие — нет. На скольких потоках, ядрах, нагрузке, размеру секции. Тем более, когда окончательно разобрался с понятиями кванта, правил его выдачи, вытеснения потоков и прочими низкоуровневыми вопросами. А потому, наш семинар — возможность понять, а не заучить, как что устроено и понять причины: почему это устроенно именно так, а не иначе.

Мы недаром меняли сетку несколько раз: пусть вас это не пугает. Наоборот, она эволюционировала. Она потерпела именно те изменения, чтобы выбросить ненужное, вставить полезное и именно в том порядке, чтобы весь механизм уложился бы в ваших головах.

Для тех, кто купил билеты, у меня задание: необходимо выспаться. Информации будет очень много и вся она пригодится в жизни. Ведь будущее — за многопоточкой, за серверами, обрабатывающими миллионы запросов. Население нашей планеты приближается к 10 миллиардам, доступность сайтов для населения всё выше, люди всё дольше проводят свою жизнь в сети Интернет и задача компаний — успевать расти. А наша — помогать им в этом деле.

Контакты

Автор: Stanislav Sidristij

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js