Class ThreadMethods


  • public class ThreadMethods
    extends Object
    This class contains a number of helper methods for Java Threads.
    Author:
    Vasilis Vryniotis
    • Constructor Detail

      • ThreadMethods

        public ThreadMethods()
    • Method Detail

      • throttledExecution

        public static <T> void throttledExecution​(Stream<T> stream,
                                                  Consumer<T> consumer,
                                                  ConcurrencyConfiguration concurrencyConfiguration)
        Takes the items of the stream in a throttled way and provides them to the consumer. It uses as many threads as the available processors and it does not start more tasks than 2 times the previous number.
        Type Parameters:
        T -
        Parameters:
        stream -
        consumer -
        concurrencyConfiguration -
      • forkJoinExecution

        public static <T> T forkJoinExecution​(Callable<T> callable,
                                              ConcurrencyConfiguration concurrencyConfiguration,
                                              boolean parallelStream)
        Alternative to parallelStreams() which executes a callable in a separate pool.
        Type Parameters:
        T -
        Parameters:
        callable -
        concurrencyConfiguration -
        parallelStream -
        Returns:
      • forkJoinExecution

        public static void forkJoinExecution​(Runnable runnable,
                                             ConcurrencyConfiguration concurrencyConfiguration,
                                             boolean parallelStream)
        Alternative to parallelStreams() which executes a runnable in a separate pool.
        Parameters:
        runnable -
        concurrencyConfiguration -
        parallelStream -