weixin_53249456 2021-08-14 02:14 采纳率: 75%
浏览 53
已结题

Java运行不完整,无法运行到底

img

img

public void printA(){
    lock.lock();
    try {
        while(num != 1){
            condition1.await();
        }
        System.out.print(Thread.currentThread().getName()+"=>"+num+" ");
        num++;
        condition2.signal();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        lock.unlock();
    }
}
public void printB(){
    lock.lock();
    try {
        while(num != 2){
            condition2.await();
        }
        System.out.print(Thread.currentThread().getName()+"=>"+num+" ");
        num++;
        condition3.signal();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        lock.unlock();
    }
}
public void printC(){
    lock.lock();
    try {
        while(num != 3){
            condition1.await();
        }
        System.out.print(Thread.currentThread().getName()+"=>"+num+" ");
        num=num-2;
        condition1.signal();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        lock.unlock();
    }
}

}

img

img

  • 写回答

1条回答 默认 最新

  • 风萧水丶寒 2021-08-14 11:36
    关注

    pringAprintC都是condition1.await();

    凌晨2点,同学你困了。。。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月24日
  • 已采纳回答 8月16日
  • 创建了问题 8月14日