Package hudson
Annotation Type CopyOnWrite
-
@Retention(SOURCE) @Documented @Target(FIELD) public @interface CopyOnWrite
Represents fields that are protected for concurrency by the copy-on-write semantics.Fields marked by this annotation always holds on to an immutable collection. A change to the collection must be done by first creating a new collection object, making changes, then replacing the reference atomically.
This allows code to access the field without synchronization, and greatly reduces the risk of dead-lock bugs.
The field marked with this annotation usually needs to be marked as
volatile
.- Author:
- Kohsuke Kawaguchi