Class ThreadUtil


  • public class ThreadUtil
    extends java.lang.Object
    A helper class to interface TestNG concurrency usage.
    Author:
      • Field Summary

        Fields 
        Modifier and Type Field Description
        static java.lang.String THREAD_NAME  
      • Constructor Summary

        Constructors 
        Constructor Description
        ThreadUtil()  
      • Method Summary

        All Methods Static Methods Concrete Methods 
        Modifier and Type Method Description
        static IExecutor createExecutor​(int threadCount, java.lang.String threadFactoryName)  
        static java.lang.String currentThreadInfo()
        Returns a readable name of the current executing thread.
        static void execute​(java.lang.String name, java.util.List<? extends java.lang.Runnable> tasks, int threadPoolSize, long timeout, boolean triggerAtOnce)
        Parallel execution of the tasks.
        static boolean isTestNGThread()  
        • Methods inherited from class java.lang.Object

          clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ThreadUtil

        public ThreadUtil()
    • Method Detail

      • isTestNGThread

        public static boolean isTestNGThread()
        Returns:
        true if the current thread was created by TestNG.
      • execute

        public static void execute​(java.lang.String name,
                                   java.util.List<? extends java.lang.Runnable> tasks,
                                   int threadPoolSize,
                                   long timeout,
                                   boolean triggerAtOnce)
        Parallel execution of the tasks. The startup is synchronized so this method emulates a load test.
        Parameters:
        tasks - the list of tasks to be run
        threadPoolSize - the size of the parallel threads to be used to execute the tasks
        timeout - a maximum timeout to wait for tasks finalization
        triggerAtOnce - true if the parallel execution of tasks should be trigger at once
      • currentThreadInfo

        public static java.lang.String currentThreadInfo()
        Returns a readable name of the current executing thread.
      • createExecutor

        public static IExecutor createExecutor​(int threadCount,
                                               java.lang.String threadFactoryName)