| 57 |
flexible thread pool and {@link |
flexible thread pool and {@link |
| 58 |
java.util.concurrent.ScheduledExecutor}, which adds support for |
java.util.concurrent.ScheduledExecutor}, which adds support for |
| 59 |
delayed and periodic task execution. These, and other Executors can |
delayed and periodic task execution. These, and other Executors can |
| 60 |
be used in conjunction with a {@link FutureTask} to asynchronously |
be used in conjunction with a {@link java.util.concurrent.FutureTask} |
| 61 |
|
to asynchronously |
| 62 |
start a potentially long-running computation and query the FutureTask |
start a potentially long-running computation and query the FutureTask |
| 63 |
to determine if its execution has completed, or cancel it. |
to determine if its execution has completed, or cancel it. |
| 64 |
|
|
| 71 |
A basic (nonblocking) {@link java.util.Queue} interface extending |
A basic (nonblocking) {@link java.util.Queue} interface extending |
| 72 |
java.util.Collection is introduced into java.util. Existing class |
java.util.Collection is introduced into java.util. Existing class |
| 73 |
java.util.LinkedList is adapted to support Queue, and a new |
java.util.LinkedList is adapted to support Queue, and a new |
| 74 |
non-thread-safe {@link java.util.concurrent.java.util.PriorityQueue} |
non-thread-safe {@link java.util.PriorityQueue} |
| 75 |
is added. The java.util.concurrent {@link |
is added. The java.util.concurrent {@link |
| 76 |
java.util.concurrent.LinkedQueue} class supplies an efficient |
java.util.concurrent.LinkedQueue} class supplies an efficient |
| 77 |
thread-safe non-blocking queue. |
thread-safe non-blocking queue. |
| 82 |
java.util.concurrent.LinkedBlockingQueue}, {@link |
java.util.concurrent.LinkedBlockingQueue}, {@link |
| 83 |
java.util.concurrent.ArrayBlockingQueue}, {@link |
java.util.concurrent.ArrayBlockingQueue}, {@link |
| 84 |
java.util.concurrent.SynchronousQueue}, {@link |
java.util.concurrent.SynchronousQueue}, {@link |
| 85 |
java.util.concurrent.PriorityBlockingQueue}, and {@link DelayQueue}. |
java.util.concurrent.PriorityBlockingQueue}, and |
| 86 |
|
{@link java.util.concurrent.DelayQueue}. |
| 87 |
|
|
| 88 |
|
|
| 89 |
<h2>Locks</h2> |
<h2>Locks</h2> |
| 134 |
java.util.concurrent.FairSemaphore} are classic concurrency tools. |
java.util.concurrent.FairSemaphore} are classic concurrency tools. |
| 135 |
{@link java.util.concurrent.CountDownLatch} is very simple yet very |
{@link java.util.concurrent.CountDownLatch} is very simple yet very |
| 136 |
common utility for blocking until a single signal, event, or condition |
common utility for blocking until a single signal, event, or condition |
| 137 |
holds. A {@link CyclicBarrier} is a resettable multiway |
holds. A {@link java.util.concurrent.CyclicBarrier} is a resettable multiway |
| 138 |
synchronization point common in some styles of parallel |
synchronization point common in some styles of parallel |
| 139 |
programming. An {@link java.util.concurrent.Exchanger} allows two |
programming. An {@link java.util.concurrent.Exchanger} allows two |
| 140 |
threads to exchange objects at a rendezvous point. |
threads to exchange objects at a rendezvous point. |