У меня есть 1 критическая секция (раздел A) и две другие секции (B и C). Я пытаюсь выполнить эти две цели:Критические секции - контроль доступа
Если нить попадает раздел А, я хочу, чтобы убедиться, что разделы B и C не могут быть выполнены любым другим потоком (на время раздела А).
Однако, если раздел A является не выполненным, то разделы B и C могут выполняться любым количеством потоков.
Очевидно, что с помощью lock
на всех трех участках не помогает: что бы удовлетворить первое требование, но не второй. B и C не смогут работать одновременно при нормальных обстоятельствах.
Как это сделать?
(Извиняюсь за туманной названием)
Кажется, это хороший подход, я попробую. – dcastro
Работает как шарм;) спасибо – dcastro