Версия 24.13 от Alexandr Fokin на 2022/10/04 17:51

Скрыть последних авторов
Alexandr Fokin 24.7 1 | |
2 |Понятие критической секции.|Некоторый блок кода, в котором работа несколько поток ограничивается или управляется некоторым образом. Например в критической секции разрешена работа только одного потока, остальные потоки будут ожидать.
3 (Т.е. пессимистичная блокировка)
Alexandr Fokin 24.13 4 |Понятие токена.|Поток проверяет токен, если токен свободен - забирает себе, иначе ожидает освобождения. В конце секции поток освобождает токен.
Alexandr Fokin 4.1 5
Alexandr Fokin 24.7 6 ----
Alexandr Fokin 4.1 7
Alexandr Fokin 24.8 8 Простой пример:
Alexandr Fokin 4.1 9 Запись в один и тот же файл с разных потоков. (В определенный момент времени в файл записывает только 1 поток)
10
Alexandr Fokin 24.7 11 ----
Alexandr Fokin 22.1 12
Alexandr Fokin 24.7 13 ==== Книги ====
Alexandr Fokin 22.1 14
Alexandr Fokin 24.4 15 * [[Асинхронное программирование в C# 5.0 | O’Reilly>>doc:Книги.O’Reilly.Асинхронное программирование в C# 5\.0 | O’Reilly.WebHome]]
Alexandr Fokin 24.3 16 * [[Конкурентность в C#. Асинхронное, параллельное и многопоточное программирование. | O’Reilly>>doc:Книги.O’Reilly.Конкурентность в C#\. Асинхронное, параллельное и многопоточное программирование\. | O’Reilly.WebHome]]
Alexandr Fokin 24.7 17 * [[CLR via C# | Джеффри Рихтер>>Книги.CLR via C# | Джеффри Рихтер.WebHome]]
Alexandr Fokin 24.3 18
Alexandr Fokin 24.10 19 ----
20
21 {{children/}}
22
Alexandr Fokin 24.3 23