Почему снятие блокировки должно выполняться атомарно? - PullRequest
0 голосов
/ 30 октября 2019

Я смотрел на синхронизацию процессов и не мог понять, почему снятие блокировки должно выполняться атомарно, при получении блокировки, очевидно, что она должна выполняться атомарно, поскольку несколько потоков могут одновременно выполнять цикл while и входить вCS в то же время.

доступно инициализируется как True.

acquire() {
  while(!available); /* Busy wait */
  available = false;
}
//critical section
release() {
  available = true;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...