简体   繁体   English

SCJD 同步语句与锁

[英]SCJD synchronized statement vs Lock

I'm trying to justify the use of synchronized statement vs Java Concurrent API for my SCJD.我试图证明我的 SCJD 使用synchronized语句与 Java 并发 API 是合理的。

So far the only reason I can give is it is more simple, easier to understand and cleaner.到目前为止,我能给出的唯一原因是它更简单、更容易理解和更清晰。

Are there any better technical reasons?有更好的技术原因吗?

The best reason is robustness.最好的理由是稳健性。

A lock must be released, and forgetting to do it, or not doing it properly (in a finally block) can have disastrous effects.一个锁必须被释放,而忘记释放它,或者没有正确地释放它(在 finally 块中)可能会产生灾难性的影响。

Since synchronized protects a whole block of code or a method, and automatically releases the lock when the block or method ends, using it is safer and leads to less programming errors.由于 synchronized 保护了整个代码块或方法,并在块或方法结束时自动释放锁,因此使用它更安全,并且导致编程错误更少。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM