#19 Многопоточность - lock, Monitor, Mutex, Semaphore. Ответ на вопрос собеседования C# / .Net

  Рет қаралды 12,450

Andrey Shyrokoriadov

Andrey Shyrokoriadov

Күн бұрын

Пікірлер: 24
@АлексСандр-щ8л
@АлексСандр-щ8л 2 жыл бұрын
Спасибо за Ваши видео, они сильно помогают заполнять некоторые пробелы. Вот чего мне в этом видео не хватило - рекомендаций когда использовать тот или иной подход. Кроме того было потеряно пару важных аспектов: 1) Есть возможность синхронизации с помощью AutoResetEvent. Возможно и не самый широко применяемый, но всё же есть. 2) Возможность применения в синхронном и асинхронном коде. Например: В асинхронном коде lock вызовет ошибку SynchronizationLockException, а Mutex ApplicationException
@ivandemidov5081
@ivandemidov5081 3 жыл бұрын
Большое спасибо, за данные видео
@AndreyShyrokoriadov
@AndreyShyrokoriadov 3 жыл бұрын
Подписывайтесь на канал, в планах выпускать как минимум одно видео каждую неделю.
@ALEXANDER47477
@ALEXANDER47477 2 жыл бұрын
​@@AndreyShyrokoriadov Здравствуйте! Спасибо Вам за видео! и еще....вот я хочу разобраться с тем какие коллекции есть в с#. у всех разные преимущества недостатки в скорости, потребляемой памяти при проведении определенных операций (добавление, удаление, поиск в коллекции, сравнение элемента и т.п.)... а также в зависимости от размеров обрабатываемых данных. посоветуйте источник (статью на сайте, книгу, видео) где очень подробно, ясно и наглядно можно прочувствовать эти особенности. а также предлагаю и Вам записать видео по данной теме!)
@mavezo6718
@mavezo6718 Жыл бұрын
Вот как и в комментарии одном ниже, ваша лекция отлично подходит под заполнение пробелов) Когда на уроке изучал и теорию, и практику, и при себе уже имеешь пример кода -- такое закрепление материала прям отличное) Только после вашего видео тема, можно сказать, закреплялась полностью
@omsohumax
@omsohumax 2 ай бұрын
Пожалуйста приведите пример синхроницации протокола на уровне ос. Не понимаю как это используется. Вот у нас есть приложение - процесс, в рамках процесса есть потоки которые надо синхронизировать, получается нужна синхронизация в рамках одной программы/процесса - тоесть нужны локи. А в каком контексте надо использовать синхронизации на уровне ос. Спасибо большое заранее!
@РНС_Саакашвили
@РНС_Саакашвили Жыл бұрын
лайк поставил . . . спасибо за ОБЩИЙ ОБЗОР
@ФедорАргунов-р3я
@ФедорАргунов-р3я 2 ай бұрын
Спасибо за видео. Прочитал в текущей документации ms насчёт Mutex, оказывается, что они бывают двух типов - локальный и именованный. Именованный виден всей системе, а локальный только процессу в котором он был создан. А есть ли варик использовать локальный Mutex вместо lock, так как он всё равно не виден другим процессам?
@randomize4097
@randomize4097 3 жыл бұрын
Lock в try finally разворачивается
@MrMihap
@MrMihap 2 жыл бұрын
не могу не сделать замечание: под капотом у монитора на уровне clr используется spinWait и mutex. по умолчанию spinwait работает 10 итераций, после чего блокировка проваливается на mutex (уровень ядра). Тут важно понимать контекст работы программы и длительность блокировки а так же в какой среде исполняется программа, одно ядро, один многоядерный процесор, несколько многоядерных процессов + параметры квантования в целевой операционной системе. только так можно принять действительно правильное решение о том, какой блокировкой и как пользоваться.
@kl45gp
@kl45gp 2 жыл бұрын
Хорошее объяснение.
@WP517i
@WP517i 2 жыл бұрын
Спасибо!!!!!
@ivannebyshinets5682
@ivannebyshinets5682 2 жыл бұрын
Отличное видео, спасибо!
@РусланЛи-б3х
@РусланЛи-б3х 3 жыл бұрын
Thank you 😊
@AndreyShyrokoriadov
@AndreyShyrokoriadov 3 жыл бұрын
You are welcome.
@mamontoff3276
@mamontoff3276 3 жыл бұрын
Спасибо! :)
@iGynLoD
@iGynLoD 3 жыл бұрын
Хорошо объясняете, но формат с листочком и ручкой смотреть крайне тяжело. На этапе объяснения и примеров с аналогиями еще можно понять, но писать код на листе - это какой-то зашквар в 2021-м.
@iGynLoD
@iGynLoD 3 жыл бұрын
Предложил бы лучше формат, где основным изображением был бы экран VisualStudio, а рисунки на от руки на маленьком экране справа внизу.
@volodymyrmatselyukh8808
@volodymyrmatselyukh8808 3 жыл бұрын
++. ище ручка то какая мощьная. постоянно отвлекался на бумажку :)
@evgeny.siberian
@evgeny.siberian 3 жыл бұрын
Учитывая распространенную практику собеседований, когда код пишется на бумаге или доске, наоборот отличный формат!
@iGynLoD
@iGynLoD 3 жыл бұрын
@@evgeny.siberian я бы отказался это делать, и всем советую. Я учился в 90-е, и тогда это ещё можно было понять. Сейчас - это бред. Зачем это нужно?
@hop173
@hop173 2 жыл бұрын
@@evgeny.siberian когда вы последний раз собеседования проходили?) уже года 2-3 точно используютя online IDE'шки
@vm7738
@vm7738 2 жыл бұрын
Спасибо!
She wanted to set me up #shorts by Tsuriki Show
0:56
Tsuriki Show
Рет қаралды 8 МЛН
Что такое gRPC и Protobuf?
8:37
Merion Academy
Рет қаралды 63 М.
Станислав Сидристый - Примитивы синхронизации и их квантовый график
1:13:34
DotNext — конференция для .NET‑разработчиков
Рет қаралды 4,1 М.
Semaphore Explained C#
12:24
Raw Coding
Рет қаралды 42 М.
ЧТО ТАКОЕ ПОТОК? [МЬЮТЕКС, СЕМАФОР]
20:46
АйтишныйДомосед
Рет қаралды 30 М.
Что должен знать C# Junior разработчик?
9:33
Sergey Nemchinskiy
Рет қаралды 114 М.
Просто о SOLID (Принципы SOLID)
15:54
webDev
Рет қаралды 225 М.
She wanted to set me up #shorts by Tsuriki Show
0:56
Tsuriki Show
Рет қаралды 8 МЛН