ОС - Mutex для связанного списка - PullRequest
0 голосов
/ 07 марта 2019

В классе мой учитель уточнил количество блокировок, необходимых для количества критических разделов в коде. Предположим, связанный список с операциями addNode(), deleteNode(), size()++, size()--. Сколько блокировок требуется для двух процессов. Один или два?

В классе учитель обернул код следующим образом:

Процесс 1

getLock(lock1)

 deleteNode()

 getLock(lock2)
    size()--
 releaseLock(lock2)

releaseLock(lock1)

Процесс 2

getLock(lock1)

 addNode()

 getLock(lock2)
    size()++
 releaseLock(lock2)

releaseLock(lock1)

Действительно ли здесь нужны два замка? Я думаю, что блокировка 2 не нужна, так как она уже находится вокруг блокировки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...