Изменения документа Примитивы синхронизации

Редактировал(а) Alexandr Fokin 2023/10/09 10:03

<
От версии < 1.4 >
отредактировано Alexandr Fokin
на 2022/10/04 17:58
К версии < 1.3 >
отредактировано Alexandr Fokin
на 2022/10/04 17:50
>
Изменить комментарий: К данной версии нет комментариев

Комментарий

Подробности

Свойства страницы
Содержимое
... ... @@ -21,21 +21,21 @@
21 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|(((
25 - Реализуют идею критической секции. Ограничивает степень параллелизма на секциях, находящихся после Monitor.Enter, одним потоком.
24 +|Monitor и конструкция Lock|(((
25 +Реализуют идею критической секции: то есть код, написанный между вызовами Monitor.Enter, Monitor.Exit на одном ресурсе может быть выполнен в один момент времени лишь одним потоком.
26 +
27 +Оператор lock оберткой над Enter/Exit обернутых в try-finally.
26 26  )))
27 -|Lock|Оператор lock является оберткой над классом Monitor, его операциями Enter/Exit, обернутыми в try-finally.
28 -|Semaphore
29 -SemaphoreSlim|Семафоры позволяют ограничить доступ выполнения кода определенным количеством потоков.
29 +|Semaphore|Семафоры позволяют ограничить доступ выполнения кода определенным количеством потоков.
30 30  |Mutex|Используется для синхронизации на уровне операционной системы.
31 31  Может использоваться несколькими приложениями в рамках одной ОС.
32 32  |ReaderWriterLock
33 -ReaderWriterLockSlim|Позволяет ограничить параллелизм либо 1 писателем, либо многими читателями.
34 -|Spin*|
33 +ReaderWriterLockSlim|Либо много потоков читает, либо 1 поток пишет.
34 +| |
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]]