Juc03_多线程中的虚假唤醒的产生、问题分析、解决方案(三)

③. 解决方法


①. 出现虚假唤醒的原因是从阻塞态到就绪态再到运行态没有进行判断,我们只需要让其每次得到操作权时都进行判断就可以了


    if(num != 0){
        this.wait();
    }
    改为  
    while(num != 0){
        this.wait();
    }

    if(num == 0){
        this.wait();
    }
    改为
    while(num == 0){
        this.wait();
    }



上一篇:统计字符串在文件中出现的次数


下一篇:SAP ABAP数据库表字段checktable的实现原理