66 |
|
* |
67 |
|
* <p>The memory effects for accesses and updates of atomics generally |
68 |
|
* follow the rules for volatiles, as stated in |
69 |
< |
* <a href="http://docs.oracle.com/javase/specs/jls/se7/html/index.html"> |
69 |
> |
* <a href="https://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.4"> |
70 |
|
* The Java Language Specification (17.4 Memory Model)</a>: |
71 |
|
* |
72 |
|
* <ul> |
73 |
|
* |
74 |
< |
* <li> {@code get} has the memory effects of reading a |
74 |
> |
* <li>{@code get} has the memory effects of reading a |
75 |
|
* {@code volatile} variable. |
76 |
|
* |
77 |
< |
* <li> {@code set} has the memory effects of writing (assigning) a |
77 |
> |
* <li>{@code set} has the memory effects of writing (assigning) a |
78 |
|
* {@code volatile} variable. |
79 |
|
* |
80 |
< |
* <li> {@code lazySet} has the memory effects of writing (assigning) |
80 |
> |
* <li>{@code lazySet} has the memory effects of writing (assigning) |
81 |
|
* a {@code volatile} variable except that it permits reorderings with |
82 |
|
* subsequent (but not previous) memory actions that do not themselves |
83 |
|
* impose reordering constraints with ordinary non-{@code volatile} |
91 |
|
* with respect to previous or subsequent reads and writes of any |
92 |
|
* variables other than the target of the {@code weakCompareAndSet}. |
93 |
|
* |
94 |
< |
* <li> {@code compareAndSet} |
94 |
> |
* <li>{@code compareAndSet} |
95 |
|
* and all other read-and-update operations such as {@code getAndIncrement} |
96 |
|
* have the memory effects of both reading and |
97 |
|
* writing {@code volatile} variables. |