当前位置 : 主页 > 网络编程 > PHP >

创建线程池的四种方式

来源:互联网 收集:自由互联 发布时间:2023-10-08
newCachedThreadPool 创建可缓存的线程池,根据需要创建,以前存在重用他们 newFixedThreadPool 创建固定的线程池,可重用 newScheduledThredPool 创建一个线程池,安排计划执行(定期) public stat


newCachedThreadPool
创建可缓存的线程池,根据需要创建,以前存在重用他们

newFixedThreadPool
创建固定的线程池,可重用

newScheduledThredPool
创建一个线程池,安排计划执行(定期)

 public static void main(String[] args) {
ScheduledExecutorService scheduledThreadPool = Executors.newScheduledThreadPool(3);
scheduledThreadPool.schedule(new Runnable() {
@Override
public void run() {
System.out.println("等3秒");
}
}, 3, TimeUnit.SECONDS);

scheduledThreadPool.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
System.out.println("延迟一秒后每三秒执行一次");
}
}, 1, 3, TimeUnit.SECONDS);

scheduledThreadPool.scheduleAtFixedRate(() -> {
System.out.println("===============");
}, 1, 3, TimeUnit.SECONDS);
}

结果

延迟一秒后每三秒执行一次
===============
等3秒
延迟一秒后每三秒执行一次
===============
延迟一秒后每三秒执行一次
===============
延迟一秒后每三秒执行一次
===============
延迟一秒后每三秒执行一次
===============

newSingleThreadExecutor
单例执行,这个线程池只有一个线程,这个线程可以在线程异常后重启一个线程替代原来线程继续去执行


上一篇:Java守护线程和用户线程
下一篇:没有了
网友评论