JaroslavTulach at 08:50, 7 September 2009 - 2009-09-07 08:50:47

←Older revision Revision as of 08:50, 7 September 2009
Line 1: Line 1:
-
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, are primitive. Higher level abstractions are available, but still they don't guarantee completely deadlock prone system. This has all been discussed in [[Chapter 11]], Runtime Aspects of [[API]]s.
+
[[Synchronized|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, are primitive. Higher level abstractions are available, but still they don't guarantee completely deadlock prone system. This has all been discussed in [[Chapter 11]], Runtime Aspects of [[API]]s.
[[Java Monitor]]s just aren't what they supposed to be (read [[Java Monitor|why]]). Thus I am glad to see that the project [http://projectlombok.org/features/Synchronized.html Lombok's @Synchronized] seems to successfully replace the '''synchronized''' keyword with [[annotation]] (vivat [[TheYearOfAnnotations2009|annotations]]!).
[[Java Monitor]]s just aren't what they supposed to be (read [[Java Monitor|why]]). Thus I am glad to see that the project [http://projectlombok.org/features/Synchronized.html Lombok's @Synchronized] seems to successfully replace the '''synchronized''' keyword with [[annotation]] (vivat [[TheYearOfAnnotations2009|annotations]]!).

JaroslavTulach at 08:47, 7 September 2009 - 2009-09-07 08:47:02

←Older revision Revision as of 08:47, 7 September 2009
Line 1: Line 1:
-
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, are 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 [[API]]s.
+
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, are primitive. Higher level abstractions are available, but still they don't guarantee completely deadlock prone system. This has all been discussed in [[Chapter 11]], Runtime Aspects of [[API]]s.
[[Java Monitor]]s just aren't what they supposed to be (read [[Java Monitor|why]]). Thus I am glad to see that the project [http://projectlombok.org/features/Synchronized.html Lombok's @Synchronized] seems to successfully replace the '''synchronized''' keyword with [[annotation]] (vivat [[TheYearOfAnnotations2009|annotations]]!).
[[Java Monitor]]s just aren't what they supposed to be (read [[Java Monitor|why]]). Thus I am glad to see that the project [http://projectlombok.org/features/Synchronized.html Lombok's @Synchronized] seems to successfully replace the '''synchronized''' keyword with [[annotation]] (vivat [[TheYearOfAnnotations2009|annotations]]!).

JaroslavTulach at 08:46, 7 September 2009 - 2009-09-07 08:46:32

←Older revision Revision as of 08:46, 7 September 2009
Line 1: Line 1:
-
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 [[API]]s.
+
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, are 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 [[API]]s.
[[Java Monitor]]s just aren't what they supposed to be (read [[Java Monitor|why]]). Thus I am glad to see that the project [http://projectlombok.org/features/Synchronized.html Lombok's @Synchronized] seems to successfully replace the '''synchronized''' keyword with [[annotation]] (vivat [[TheYearOfAnnotations2009|annotations]]!).
[[Java Monitor]]s just aren't what they supposed to be (read [[Java Monitor|why]]). Thus I am glad to see that the project [http://projectlombok.org/features/Synchronized.html Lombok's @Synchronized] seems to successfully replace the '''synchronized''' keyword with [[annotation]] (vivat [[TheYearOfAnnotations2009|annotations]]!).

JaroslavTulach: 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... - 2009-09-07 08:44:48

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...

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 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 [[API]]s.

[[Java Monitor]]s just aren't what they supposed to be (read [[Java Monitor|why]]). Thus I am glad to see that the project [http://projectlombok.org/features/Synchronized.html Lombok's @Synchronized] seems to successfully replace the '''synchronized''' keyword with [[annotation]] (vivat [[TheYearOfAnnotations2009|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]].

[[Category:APIDesignPatterns]]
[[Category:APIDesignPatterns:Anti]]