ThreadFactory

  • ThreadFactory is an interface in Java that provides a way to create new threads on demand, offering flexibility in thread creation.

  • Using ThreadFactory promotes loose coupling by avoiding direct instantiation of Thread objects.

  • It allows customization of thread properties like priority, name, daemon status, and ThreadGroup.

  • A simple implementation could directly create a Thread, while more sophisticated ones might set context values or use custom thread subclasses.

  • The core method is newThread(Runnable r), which takes a Runnable and returns a newly constructed Thread.

public interface ThreadFactory

An object that creates new threads on demand. Using thread factories removes hardwiring of calls to new Thread, enabling applications to use special thread subclasses, priorities, etc.

The simplest implementation of this interface is just:

 class SimpleThreadFactory implements ThreadFactory {
   public Thread newThread(Runnable r) {
     return new Thread(r);
   }
 }
The Executors.defaultThreadFactory() method provides a more useful simple implementation, that sets the created thread context to known values before returning it.

Public Method Summary

abstract Thread
newThread(Runnable r)
Constructs a new Thread.

Public Methods

public abstract Thread newThread (Runnable r)

Constructs a new Thread. Implementations may also initialize priority, name, daemon status, ThreadGroup, etc.

Parameters
r a runnable to be executed by new thread instance
Returns
  • constructed thread, or null if the request to create a thread is rejected