
El paquete java.util.concurrent
incluye una serie de clases que facilitan enormemente el desarrollo de aplicaciones multihilo y aplicaciones complejas, ya que están concebidas para utilizarse como bloques de diseño.
Concretamente estas utilidades están dentro de los siguientes paquetes:
java.util.concurrent
. En este paquete están definidos los siguientes elementos:- Clases de sincronización.
Semaphore
,CountDownLatch
,CyclicBarrier
yExchanger
. - Interfaces para separar la lógica de la ejecución, como por ejemplo
Executor
,ExecutorService
,Callable
yFuture
. - Interfaces para gestionar colas de hilos.
BlockingQueque
,LinkedBlokingQueque
,ArrayBlockingQueque
,SynchronousQueque
,PriorityBlockingQueque
yDelayQueque
.
- Clases de sincronización.
java.util.concurrent.atomic
. Incluye un conjunto de clases para ser usadas como variables atómicas en aplicaciones multihilo y con diferentes tipos de dato, por ejemploAtomicInteger
yAtomicLong
.java.util.concurrent.locks
. Define una serie de clases como uso alternativo a la cláusulasinchronized
. En este paquete se encuentran algunas interfaces como por ejemploLock
,ReadWriteLock
.
A lo largo de esta unidad estudiaremos las clases e interfaces más importantes de este paquete.