混淆使用在Java中同步:模式或反模式?
发布时间:2020-12-14 16:44:09 所属栏目:Java 来源:网络整理
导读:我正在对我不拥有的 Java产品进行更改的代码审查.我不是Java专家,但我强烈怀疑这是无意义的,并且表明对同步如何工作的根本误解. synchronized (this) { this.notify();} 但是我可能错了,因为Java不是我的主要操场.也许有一个理由这样做.如果你能启发我开发商
我正在对我不拥有的
Java产品进行更改的代码审查.我不是Java专家,但我强烈怀疑这是无意义的,并且表明对同步如何工作的根本误解.
synchronized (this) { this.notify(); } 但是我可能错了,因为Java不是我的主要操场.也许有一个理由这样做.如果你能启发我开发商的想法,我会很感激. 解决方法
这当然不是毫无意义的,你可以有另一个线程参考包含上述代码的对象
synchronized(foo) { foo.wait(); } 为了在有事情发生时被唤醒.尽管在许多情况下,在内部/私有锁定对象上进行同步而不是这种做法被认为是很好的做法. 但是,只能在同步块内做一个.notify()可能是非常错误的 – 你通常需要做一些工作,并在通常的情况下进行通知,在正常情况下,还需要对其他线程进行原子化处理.我们必须看到更多的代码来确定它是否真的是错误的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |