码迷,mamicode.com
首页 > 数据库 > 详细

FindBugs NN_NAKED_NOTIFY

时间:2015-07-27 21:06:44      阅读:751      评论:0      收藏:0      [点我收藏+]

标签:findbugs   nn-naked-n   

工作中遇到的,NN_NAKED_NOTIFY,可能原因是你你锁的是同一个变量,但是FindBugs不能识别成是同一个变量,即使两个变量指向同一个地址,findbugs也为认为你是两个不一样的变量,举个例子吧

Object a = new Object();
Object b = a;

synchronized(a)
{
    a.notifyAll();
}

synchronized(b)
{
    b.wait();
}

这种情况虽然运行时不会报错,但是findbugs会报错

所以还是锁同一个,调用同一个对象的notifyAll()和wait()

Object a = new Object();
Object b = a;

synchronized(a)
{
    a.notifyAll();
}

synchronized(a)
{
    a.wait();
}

这样就不报FindBugs错误了

版权声明:本文为博主原创文章,未经博主允许不得转载。

FindBugs NN_NAKED_NOTIFY

标签:findbugs   nn-naked-n   

原文地址:http://blog.csdn.net/csm_qz/article/details/47089569

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!