Многопоточность и асинхронность
Редактировал(а) Alexandr Fokin 2023/01/11 15:19
Понятие критической секции. | Некоторый блок кода, в котором работа несколько поток ограничивается или управляется некоторым образом. Например в критической секции разрешена работа только одного потока, остальные потоки будут ожидать. (Т.е. Пессимистичная блокировка) |
Понятие токена. | Поток проверяет токен, если токен свободен - забирает себе, иначе ожидает освобождения. В конце секции поток освобождает токен. |
Простой пример:
Запись в один и тот же файл с разных потоков. (В определенный момент времени в файл записывает только 1 поток)
Книги
- Конкурентность в C#. Асинхронное, параллельное и многопоточное программирование. | O’Reilly
- CLR via C# | Джеффри Рихтер