Thread-safe containers and other concurrency-related utilities, designed to supplement JDK concurrency utilities and containers.
ClassDescriptionOrders multiple actions/tasks based on a key.Aggregation of multiple
CompletionStageinstances where their count is not known or when a large amount of stages are required, as it uses less memory foot print per stage.Manager utility for blocking operations that runs tasks on the blocking executor and returns a
Publisherthat continues on the non-blocking executor, similar to
stage.handleAsync(callback, blockingExecutor).whenCompleteAsync(NOOP, nonBlockingExecutor).Executor interface that submits task to a blocking pool that returns a stage that is guaranteed to run any chained stages on a non-blocking thread if the stage is not yet complete.A special Runnable that is only sent to a thread when it is ready to be executed without blocking the threadExecutor service that is aware of
BlockingRunnableand only dispatch the runnable to a thread when it has low (or no) probability of blocking the thread.A special executor service that accepts a
BlockingRunnable.Similar to JDK
Executorsexcept that the factory methods here allow you to specify the size of the blocking queue that backs the executor.An acknowledge collector for Triangle algorithm used in non-transactional caches for write operations.Utility methods for handling
CompletionStageinstances.A concurrency structure that invokes a
Runnablewhen its count reaches zero.Ordering construct allowing concurrent operations that wish to do operations upon the same key to wait until the most recently registered operation is complete in a non blocking way.Various transaction isolation levels as an enumerated class.Manager utility for non-blocking operations.A thread gate, that uses an
AbstractQueuedSynchronizer.A class that handles restarts of components via multiple threads.Thrown when a timeout occurred.An executor that works within the current thread.