public class

ThreadUtil

extends Object
java.lang.Object
   ↳ com.pnfsoftware.jeb.util.concurrent.ThreadUtil

Class Overview

Collection of thread utility static methods.

Summary

Public Constructors
ThreadUtil()
Public Methods
static Thread create(Runnable r)
Create a daemon thread.
static boolean monitor(Thread t, IMonitorInfoProvider provider)
Monitor a running thread, and attempt to terminate it after a dynamic timeout has elapsed.
static Thread start(Runnable r)
Create and start a new daemon thread.
static Thread start(String name, Runnable r)
Create and start a new daemon thread.
static boolean stop(Thread t)
Gracefully stop a running thread.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public ThreadUtil ()

Public Methods

public static Thread create (Runnable r)

Create a daemon thread. The thread is not started.

Parameters
r the runnable
Returns
  • the new thread

public static boolean monitor (Thread t, IMonitorInfoProvider provider)

Monitor a running thread, and attempt to terminate it after a dynamic timeout has elapsed. This method is blocking. In order for this method to work properly and responsively, the monitored thread should check for interruptions regularly, and should not disregard InterruptedExceptions.

Parameters
t the running thread
provider information for the monitor (timeout, probingPeriod, etc.); if the probing period is invalid, it will be set to a default 100ms.
Returns
  • true if the thread has ended successfully (may have ended because it completed, may have ended because it processed the interruption); unless something bad happens (eg, the monitor is interrupted), this method should always return true

public static Thread start (Runnable r)

Create and start a new daemon thread.

Parameters
r the runnable
Returns
  • the running thread

public static Thread start (String name, Runnable r)

Create and start a new daemon thread.

Parameters
name thread name
r the runnable
Returns
  • the running thread

public static boolean stop (Thread t)

Gracefully stop a running thread. This method is blocking.

Parameters
t the running thread
Returns
  • true if the thread was stopped successfully