Package org.infinispan.util.concurrent
package org.infinispan.util.concurrent
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
CompletionStage
instances 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 aCompletionStage
orPublisher
that continues on the non-blocking executor, similar tostage.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 ofBlockingRunnable
and only dispatch the runnable to a thread when it has low (or no) probability of blocking the thread.A special executor service that accepts aBlockingRunnable
.Similar to JDKExecutors
except 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 handlingCompletionStage
instances.A mixture between aCompletableFuture
and aCondition
.A concurrency structure that invokes aRunnable
when 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 anAbstractQueuedSynchronizer
.A class that handles restarts of components via multiple threads.Thrown when a timeout occurred.An executor that works within the current thread.