如何修复FindBugs的Naked通知警告?

时间:2011-03-04 12:04:05

标签: java warnings findbugs notify

我有FindBugs的Naked通知警告。 以下是我的代码。

synchronized (this) {
        this.notify();
    }

“this”是“public class Controller extends Thread”。 如何修复警告?我根本不知道。

提前致谢。

1 个答案:

答案 0 :(得分:9)

裸通知警告意味着使用notify()方法意味着有一些其他线程正在等待某个可变状态发生更改,并且正在等待通知。但是你的synchronized块没有修改任何可变状态,所以你需要通知它似乎很奇怪。如果你修改了synchronized块之外的对象的状态,那么这个代码是线程安全的似乎是可疑的,因为有另一个线程正在读取这个数据