TryLock от ReentrantLock и ждать () в Java - PullRequest
0 голосов
/ 09 ноября 2019

Я хотел бы понять, почему я не могу использовать метод tryLock () и, если он возвращает false, вызвать wait () и wakeup on notify (), как в следующем примере:

    public void printName(){
    boolean res;
    res = mutex.getMutex().tryLock();
    while (!res) {
        try {
            mutex.wait();
        } catch (Exception e) { 
            System.out.println("error!"); 
        }
        res = mutex.getMutex().tryLock();
    }

    System.out.println("name: " + this.name + ".");
    System.out.println("finish!");

    mutex.getMutex().unlock();
    mutex.notify();
}

Я знаю, что есть лучшие способы сделать это, но меня интересует эта конкретная ситуация.

...