【问题标题】:How to fix Naked notify warning of FindBugs?如何修复 FindBugs 的 Naked 通知警告?
【发布时间】:2011-03-04 12:04:05
【问题描述】:

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

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

“this”是“公共类控制器扩展线程”。 如何修复警告?我不知道。

提前致谢。

【问题讨论】:

  • 它不会告诉您警告的实际含义吗? (您是否考虑过实现 Runnable 而不是扩展 Thread?)
  • 只是不要使用线程同步。上。更多关于使用线程同步:stackoverflow.com/questions/5121173/…

标签: java warnings findbugs notify


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2019-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-09
    • 2021-08-18
    • 2016-12-26
    • 2019-08-08
    相关资源
    最近更新 更多