当需要创建多个类似的线程实例时,使用工厂模式替代 new 操作符创建线程,能使代码更为简洁,易于维护。JDK 提供了 java.util.concurrent.ThreadFactory 接口,ThreadFactory 只有一个方法 newThread,它接收一个 Runnable 参数,返回一个 Thread 实例。

public class DaemonThreadFactory implements ThreadFactory {

    @Override
    public Thread newThread(Runnable task) {        
        Thread thread = new Thread(task);
        thread.setDaemon(true);
        return thread;
    }

}

public class Task implements Runnable {

    @Override
    public void run() {
        try {
            Thread.sleep(1000L);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

}

public class Main {

    public static void main(String[] args) {
        
        DaemonThreadFactory daemonThreadFactory = new DaemonThreadFactory();
        for (int i = 0; i < 3; i++) {
            Thread thread = daemonThreadFactory.newThread(new Task());
            thread.start();
        }
        
    }
    
}

 

相关文章:

  • 2021-07-06
  • 2021-06-06
  • 2021-09-21
  • 2022-01-07
  • 2022-12-23
  • 2022-12-23
  • 2023-03-07
  • 2021-07-09
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-08
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案