我有FindBugs的Naked通知警告。 以下是我的代码。
synchronized (this) {
this.notify();
}
“this”是“public class Controller extends Thread”。 如何修复警告?我根本不知道。
提前致谢。
答案 0 :(得分:9)
裸通知警告意味着使用notify()方法意味着有一些其他线程正在等待某个可变状态发生更改,并且正在等待通知。但是你的synchronized块没有修改任何可变状态,所以你需要通知它似乎很奇怪。如果你修改了synchronized块之外的对象的状态,那么这个代码是线程安全的似乎是可疑的,因为有另一个线程正在读取这个数据