Я пытаюсь реализовать простые счетные семафоры, чтобы помочь с параллелизмом, и когда я исследую тему более онлайн для wait(); и сигнал(); команды Я продолжаю видеть комментарии о том, как они встроены в пакет java.util.conncurrent.semaphore.
Если это так, как я могу использовать команды с целыми значениями для ожидания и сигнала? Или мне нужно создать собственное wait(); и signal() для уменьшения/увеличения значений целого числа, хранящихся в семафоре?
Например:
Semaphore count = new Semapore(4);
Позже в классе:
wait(count);
или
signal(count);
это работает или мне нужно определить методы ожидания и сигнала самостоятельно?
Прочтите javadoc для класса Semaphore
. Методы, которые вы ищете, называются acquire
и release
оба из них могут принимать целые аргументы.