Станислав Сидристый - lock(_sync): иллюзия идеального выбора

Ғылым және технология

Ближайшая конференция - DotNext 2024, 10 - 11 сентября, Москва + online
Подробности и билеты: jrg.su/x2GKnA
- -
Ввиду того, что lock является конструкцией языка, которая лаконично и понятно создает секцию монопольного исполнения кода, это создает иллюзию единственно верного решения. Станислав рассмотрит алгоритм его работы и ответит на вопрос: так ли это?

Пікірлер: 15

  • @ArseniySergeev
    @ArseniySergeev10 ай бұрын

    Обожаю когда Сидристый в очередной раз рассказывает про многопоточность)))

  • @nikolaifedorov685

    @nikolaifedorov685

    8 ай бұрын

    Офигеть я тупой, потому что мне кажется что он очень сумбурно рассказывает и Непонятно

  • @ArseniySergeev

    @ArseniySergeev

    8 ай бұрын

    @@nikolaifedorov685 я по нескольку раз пересматриваю)))

  • @vladlenbulatov1022
    @vladlenbulatov1022Ай бұрын

    ребята/коллеги, про волатайл - это всего-лишь указание компилятору/интерпретатору не использовать в оптимизации кода, при работе с этой переменной/членом всякие оптимизации, напримре, как копирование "нашей/данной" ячейки памяти в регистровую память. То есть - всегда нужно сначала "её" из ОЗУ получить, и побыренькому её заюзать, иначе полученное значение/value потеряет свой смысл и значимость. Так что... о волатайлах - не забывайте, хотя... пример от си-пи-пишников - std::atomic - каков "великий" смысл данной конструкции?

  • @maflend2762
    @maflend27629 ай бұрын

    А он могет. Спасибо

  • @ryanlashkevich9615

    @ryanlashkevich9615

    9 ай бұрын

    Ну на практике я бы проявлял здоровый скепсис к его советам, не зря же его Женя Пешков за volatile укусил. В multithreading-е все-таки реализация сильно сложнее, чем это выглядит в теории.

  • @MaksimVolkau
    @MaksimVolkau10 ай бұрын

    Маст хэв для подготовки к собесам и для понимания

  • @user-ps6kn1ps5j

    @user-ps6kn1ps5j

    10 ай бұрын

    Маст хэв - это его лекции на clrium. А это для затравочки.

  • @EshkinKot1980

    @EshkinKot1980

    10 ай бұрын

    @@user-ps6kn1ps5j Спасибо, тут всё как-то скомкано, автор перескакивает с темы на тему, много слов паразитов. Реально понять можно только то, с чем уже имел дело. На 28 и 29 слайдах нарисовано что-то странное. В начале лекции он говорит, что в реальности на одном ядре всё происходит последовательно, а на графиках нарисовано параллельное выполнение. Еще немного удивляют миллисекунды, я когда-то (в конце 0-ых) писал на С++ и счет шел на микросекунды. Даже в PHP миллисекунды появляются из-за работы с БД или по сети. Неужели в C# всё настолько грустно?

  • @user-ps6kn1ps5j

    @user-ps6kn1ps5j

    10 ай бұрын

    @@EshkinKot1980 на графиках всё правильно нарисовано, в один момент времени исполняется один поток

  • @user-ps6kn1ps5j

    @user-ps6kn1ps5j

    10 ай бұрын

    @@EshkinKot1980 ну и работа с сетью и бд в частности, это же блокировки сетевого ввода/вывода, это уровень ядра. Тут скорее от операционной системы зависит, чем от конкретного языка или платформы. Хотя может быть плохо написан провайдер бд, что тоже возможно.

  • @evseevav

    @evseevav

    10 ай бұрын

    ​@@user-ps6kn1ps5jспасибо, посмотрим

  • @Frog-6nm
    @Frog-6nm5 ай бұрын

    Он говорит "ConfigureWait(false)" или что-то иное? 😮

Келесі