Java的四种线程池之newSingleThreadExecutor
一、概念
创建一个单线程化的线程池,它只会用唯一的工作线程来执行任务,保证所有任务按照指定顺序(FIFO:先进先出, LIFO:后进先出, 优先级)执行。当需要线程池中的线程按照某种特定的规则执行时,可以创建使用newSingleThreadExecutor线程池。
二、Java代码
public static void singleThreadExecutor() {
ExecutorService singleThreadExecutor = Executors.newSingleThreadExecutor();
for (int i = 1; i <= 3; i++) {
final int index = i;
singleThreadExecutor.execute(new Runnable() {
@Override
public void run() {
try {
System.out.println(index+"线程-当前时间为"+System.currentTimeMillis()+" 线程名:"+Thread.currentThread().getName()+"开始沉睡2秒。");
Thread.sleep(2000);
System.out.println(index+"线程-当前时间为"+System.currentTimeMillis());
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
}
引入的依赖:
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;