awaitility/src/main/java/org/awaitility/Awaitility.java
public static void pollThread(final Function<Runnable, Thread> threadSupplier) {
        defaultExecutorLifecycle = ExecutorLifecycle.withNormalCleanupBehavior(new Supplier<ExecutorService>() {
            @Override
            public ExecutorService get() {
                return InternalExecutorServiceFactory.create(threadSupplier);
            }
        });
    }
public static void pollThread(final Function<Runnable, Thread> threadSupplier) {
        defaultExecutorLifecycle = ExecutorLifecycle.withNormalCleanupBehavior(new Supplier<ExecutorService>() {
            @Override
            public ExecutorService get() {
                return InternalExecutorServiceFactory.create(threadSupplier);
            }
        });
    }
public static void pollThread ( final Function < Runnable , Thread > threadSupplier ) { defaultExecutorLifecycle = ExecutorLifecycle . withNormalCleanupBehavior ( new Supplier < ExecutorService > ( ) { @ Override public ExecutorService get ( ) { return InternalExecutorServiceFactory . create ( threadSupplier ) ; } } ) ; }
Specify a thread supplier whose thread will be used to evaluate the poll condition in Awaitility.
The supplier will be called only once and the thread it returns will be reused during all condition evaluations.
This is an advanced feature and it should only be used sparingly.

@param threadSupplier A supplier of the thread that Awaitility will use when polling
@since 3.0.0
Specify a thread supplier whose thread will be used to evaluate the poll condition in Awaitility . The supplier will be called only once and the thread it returns will be reused during all condition evaluations . This is an advanced feature and it should only be used sparingly .