...
Subclasses whose parents use the private lock object idiom must themselves use the idiom. However, when a class uses intrinsic synchronization over the class object without documenting its locking policy, subclasses are forbidden to must not use intrinsic synchronization over their own class object. When the superclass documents its policy by stating that client-side locking is supported, the subclasses have the option to choose between intrinsic locking over the class object or use of the private lock object idiom. Subclasses must document their locking policy regardless of which locking option is chosen. See rule TSM00-J. Do not override thread-safe methods with methods that are not thread-safe for related information.
...
- It sufficiently documents that callers are forbidden to must not pass objects of this class to untrusted code.
- The class cannot invoke methods on objects of any untrusted classes that violate this rule, whether directly or indirectly.
- The synchronization policy of the class is documented properly.
...
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="6c079cc6eb2d8f5b-eb36fa51-45284ab5-aefdb721-545f6603e02136ddd93b1a3e"><ac:plain-text-body><![CDATA[ | [[Bloch 2001 | AA. Bibliography#Bloch 01]] | Item 52: "Document Thread Safety" | ]]></ac:plain-text-body></ac:structured-macro> |
...