Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: clarified the opening paragraph and normative language.

Programs must not lock on an object of a class that implements Instances of classes that implement either or both of the Lock and Condition interfaces of the java.util.concurrent.locks package are known as high-level concurrency objects. Using the intrinsic locks of these classes such objects is a questionable practice even in cases where the code may appear to function correctly. Consequently, programs that interact with such objects must use only high-level locking facilities provided by the interfaces; use of the intrinsic locks is forbidden. This problem generally arises when code is refactored from intrinsic locking to the java.util.concurrent dynamic-locking utilities.

...

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="3d818f8a0a29f029-714e9a7c-46c54eb0-ae5aa8b5-d2c050a96eb1ae2d82295a99"><ac:plain-text-body><![CDATA[

[[API 2006

AA. Bibliography#API 06]]

 

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="43eb5a713a59b714-83a8e7a3-492f445e-9564bfc2-6b6d7650f4d4c898fe148877"><ac:plain-text-body><![CDATA[

[[Findbugs 2008

AA. Bibliography#Findbugs 08]]

 

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="181a08fd873388c0-1abe8152-45554bc2-91d1925b-8c623f95b56befdb9a4c9c17"><ac:plain-text-body><![CDATA[

[[Pugh 2008

AA. Bibliography#Pugh 08]]

"Synchronization"

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="2bf743fafad3cbbd-20be442a-444f40f4-b0ed9194-01e45f785d627147646a0ed8"><ac:plain-text-body><![CDATA[

[[Miller 2009

AA. Bibliography#Miller 09]]

Locking

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="939dec5146fafaef-244e0bc0-44074d54-a479a4a5-f4658cc69e399d602d8b4a1a"><ac:plain-text-body><![CDATA[

[[Tutorials 2008

AA. Bibliography#Tutorials 08]]

[Wrapper Implementations

http://java.sun.com/docs/books/tutorial/collections/implementations/wrapper.html]

]]></ac:plain-text-body></ac:structured-macro>

...