Synchronized
From APIDesign
JaroslavTulach (Talk | contribs)
(New page: Synchronization is getting more and more important in applications and libraries written these days. However synchronization is hard. The primitives available in Java (or other languag...)
Next diff →
Revision as of 08:44, 7 September 2009
Synchronization is getting more and more important in applications and libraries written these days. However synchronization is hard. The primitives available in Java (or other languages), are well primitive. Higher level abstractions are available, but still they don't guarantee completely deadlock prone system. This has all been discussed in Chapter 14, Runtime Aspects of APIs.
Java Monitors just aren't what they supposed to be (read why). Thus I am glad to see that the project Lombok's @Synchronized seems to successfully replace the synchronized keyword with annotation (vivat annotations!).
In the name of cluelessness of your Java API users, don't forget to prefer private locks to synchronized methods. Or switch to the beautiful @Synchronized annotation.