Изменения документа Примитивы синхронизации
Редактировал(а) Alexandr Fokin 2023/10/09 10:03
<
>
отредактировано Alexandr Fokin
на 2022/10/04 17:50
на 2022/10/04 17:50
отредактировано Alexandr Fokin
на 2022/10/04 17:59
на 2022/10/04 17:59
Изменить комментарий:
К данной версии нет комментариев
Комментарий
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -18,24 +18,24 @@ 18 18 1. Класс, содержащий методы, которые помимо операции чтения/записи накладывают ограничение (барьер), не позволяющее процессору менять порядок выполнения команд. 19 19 ))) 20 20 |(% style="width:590px" %)Interlocked 21 -[[https:~~/~~/learn.microsoft.com/ru-ru/dotnet/api/system.threading.interlocked?view=net-5.0>>https://learn.microsoft.com/ru-ru/dotnet/api/system.threading.interlocked?view=net-5.0]]|(% style="width:892px" %) 21 +[[https:~~/~~/learn.microsoft.com/ru-ru/dotnet/api/system.threading.interlocked?view=net-5.0>>https://learn.microsoft.com/ru-ru/dotnet/api/system.threading.interlocked?view=net-5.0]]|(% style="width:892px" %)Предоставляет набор некоторых операций, гарантирующих атомарность выполнения. 22 22 23 23 | | 24 -|Monitor и конструкция Lock|((( 25 -Реализуют идею критической секции: то есть код, написанный между вызовами Monitor.Enter, Monitor.Exit на одном ресурсе может быть выполнен в один момент времени лишь одним потоком. 26 - 27 -Оператор lock оберткой над Enter/Exit обернутых в try-finally. 24 +|Monitor|((( 25 + Реализуют идею критической секции. Ограничивает степень параллелизма на секциях, находящихся после Monitor.Enter, одним потоком. 28 28 ))) 29 -|Semaphore|Семафоры позволяют ограничить доступ выполнения кода определенным количеством потоков. 27 +|Lock|Оператор lock является оберткой над классом Monitor, его операциями Enter/Exit, обернутыми в try-finally. 28 +|Semaphore 29 +SemaphoreSlim|Семафоры позволяют ограничить доступ выполнения кода определенным количеством потоков. 30 30 |Mutex|Используется для синхронизации на уровне операционной системы. 31 31 Может использоваться несколькими приложениями в рамках одной ОС. 32 32 |ReaderWriterLock 33 -ReaderWriterLockSlim| Либомного потоковчитает,либо 1 потокпишет.34 -| 33 +ReaderWriterLockSlim|Позволяет ограничить параллелизм либо 1 писателем, либо многими читателями. 34 +|Spin*| 35 35 36 36 ---- 37 37 38 -Материалы :38 +=== Материалы === 39 39 40 40 * .NET: Инструменты для работы с многопоточностью и асинхронностью. Часть 1 41 41 [[https:~~/~~/habr.com/ru/post/452094>>https://habr.com/ru/post/452094]]