混淆使用在Java中同步:模式或反模式?

前端之家收集整理的这篇文章主要介绍了混淆使用在Java中同步:模式或反模式?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在对我不拥有的 Java产品进行更改的代码审查.我不是Java专家,但我强烈怀疑这是无意义的,并且表明对同步如何工作的根本误解.
synchronized (this) {
    this.notify();
}

但是我可能错了,因为Java不是我的主要操场.也许有一个理由这样做.如果你能启发我开发商的想法,我会很感激.

解决方法

这当然不是毫无意义的,你可以有另一个线程参考包含上述代码的对象
synchronized(foo) {
    foo.wait();
}

为了在有事情发生时被唤醒.尽管在许多情况下,在内部/私有锁定对象上进行同步而不是这种做法被认为是很好的做法.

但是,只能在同步块内做一个.notify()可能是非常错误的 – 你通常需要做一些工作,并在通常的情况下进行通知,在正常情况下,还需要对其他线程进行原子化处理.我们必须看到更多的代码来确定它是否真的是错误的.

原文链接:https://www.f2er.com/java/124506.html

猜你在找的Java相关文章