Java线程2-3 时间调度的线程池ScheduledThreadPool

来源:互联网 发布:mac 不能玩炉石传说么 编辑:程序博客网 时间:2024/05/21 08:45
<span style="color: rgb(54, 46, 43); font-family: Arial; font-size: 14px; line-height: 26px;">ScheduledExecutor。其设计思想是,每一个被调度的任务都会由线程池中一个线程去执行,因此任务是并发执行的,相互之间不会受到干扰。需要注意的是,只有当任务的执行时间到来时,ScheduedExecutor 才会真正启动一个线程,其余时间 ScheduledExecutor 都是在轮询任务的状态。</span>
<span style="font-size:18px;">package thread_threadpool;import java.util.concurrent.Executors;import java.util.concurrent.ScheduledExecutorService;import java.util.concurrent.TimeUnit;public class ThreadPool_ScheduledThreadPool {public static void main(String[] args) throws InterruptedException {//定义一个可执行3个线程的时间调度的线程池ScheduledExecutorService schedulePool = Executors.newScheduledThreadPool(3);MyThread1 t = new MyThread1();long initialDelay = 3;//多少时间后执行int period = 2;//每隔多少时间执行一次TimeUnit unit = TimeUnit.SECONDS;//时间单位:时分秒等等//执行线程schedulePool.scheduleAtFixedRate(t, initialDelay, period, unit);}}class MyThread1 implements Runnable{@Overridepublic void run() {System.out.println("当前线程:"+Thread.currentThread().getName()+"被执行");}}</span>

0 0
原创粉丝点击