195 |
|
submitted to an <tt>ExecutorService</tt> <i>happen-before</i> its |
196 |
|
execution. |
197 |
|
|
198 |
< |
<li>State changes to a <tt>Future</tt> made prior to it becoming |
199 |
< |
available <i>happen-before</i> access via <tt>Future.get()</tt>. |
198 |
> |
<li>State changes to a <tt>Future</tt> that |
199 |
> |
<i>happen-before</i> it is made available |
200 |
> |
<i>happen-before</i> access via <tt>Future.get()</tt>. |
201 |
|
|
202 |
|
<li>Actions prior to "releasing" synchronizer methods such as |
203 |
< |
<tt>Lock.unlock</tt>, <tt>Semaphore.release</tt>, |
204 |
< |
<tt>CountDownLatch.countDown</tt> and <tt>Condition.signal</tt> |
203 |
> |
<tt>Lock.unlock</tt>, <tt>Semaphore.release</tt>, and |
204 |
> |
<tt>CountDownLatch.countDown</tt> |
205 |
|
<i>happen-before</i> actions subsequent to a successful "acquiring" method such as |
206 |
|
<tt>Lock.lock</tt>, <tt>Semaphore.acquire</tt>, <tt>Condition.await</tt>, and |
207 |
|
<tt>CountDownLatch.await</tt> on the same synchronizer object. |