Albert Abdullin
Я не могу понять эту схему, но если несколько потоков ждут критический участок кода, то нет никакой вероятности, что поток, который пришел на ожидание первым, получит его первым как только критический участок кода освободиться. Это надо воспринимать на уровне факта
Ну я предполагал, что в программе всего 3 потока. То есть, когда поток А вызывает lock, то он первый и единственный, кто претендует на вход в критический участок, почему он тогда вообще должен ждать? К тому же ранее в книге обсуждались first-come-first-served, то есть по идее опять таки раньше кто пришел раньше, того и тапки.
Хотя для этой конкретной очереди свойство first-come-first-served не указано, хм. Тогда схема вообще по сути не понятно зачем нарисована.
В любом случае, спасибо)