Я изучал параллелизм в java, искал семафоры java и столкнулся с проблемой. У меня есть несколько потоков, пытающихся получить одну из нескольких блокировок для доступа к критическому разделу, защищенному семафором, и хочу, чтобы все мои потоки, которые не смогли получить блокировку, выполнили определенную задачу c, а затем попытались повторно получить блокировку. Каждый раз, когда получение не удается, я хочу, чтобы поток выполнил задачу ожидания, которую я сделал, и когда это будет сделано, попробуйте снова. повторить, пока не приобрел. Глядя на документы java для семафорного класса java, кажется, что все методы получения, так или иначе, выполняют ту или иную форму блокировки. Как я могу выполнить sh то, что я хочу?