Изменения документа Примитивы синхронизации
Редактировал(а) Alexandr Fokin 2023/10/09 10:03
<
>
отредактировано Alexandr Fokin
на 2022/10/04 17:44
на 2022/10/04 17:44
отредактировано Alexandr Fokin
на 2022/10/04 17:50
на 2022/10/04 17:50
Изменить комментарий:
К данной версии нет комментариев
Комментарий
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -6,8 +6,20 @@ 6 6 7 7 ---- 8 8 9 -=== 9 +=== Некоторые примитивы синхронизации === 10 10 11 +|(% style="width:590px" %) |(% style="width:892px" %) 12 +|(% style="width:590px" %)((( 13 +volatile 14 +[[https:~~/~~/learn.microsoft.com/ru-ru/dotnet/csharp/language-reference/keywords/volatile>>https://learn.microsoft.com/ru-ru/dotnet/csharp/language-reference/keywords/volatile]] 15 +[[https:~~/~~/learn.microsoft.com/ru-ru/dotnet/api/system.threading.volatile?view=net-5.0>>https://learn.microsoft.com/ru-ru/dotnet/api/system.threading.volatile?view=net-5.0]] 16 +)))|(% style="width:892px" %)((( 17 +1. Модификатор переменных, ограничивающий оптимизации компилятора c#. 18 +1. Класс, содержащий методы, которые помимо операции чтения/записи накладывают ограничение (барьер), не позволяющее процессору менять порядок выполнения команд. 19 +))) 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" %) 22 + 11 11 | | 12 12 |Monitor и конструкция Lock|((( 13 13 Реализуют идею критической секции: то есть код, написанный между вызовами Monitor.Enter, Monitor.Exit на одном ресурсе может быть выполнен в один момент времени лишь одним потоком.