newScheduledThreadPool创建可间隔时间执行的线程池
来源:互联网 发布:美女公寓小说txt淘宝 编辑:程序博客网 时间:2024/06/05 09:38
newScheduledThreadPool,创建一个可间隔时间执行的线程池,并且可以指定数量,以前确实没这么写过,都是写while循环,看来后面我要恶补一下线程池的技术了,下面是我抽出来的部分代码。
package ess.tester;import java.util.concurrent.Executors;import java.util.concurrent.ScheduledExecutorService;import java.util.concurrent.ThreadFactory;import java.util.concurrent.TimeUnit;import org.junit.Test;import com.google.common.util.concurrent.ThreadFactoryBuilder;import lombok.extern.slf4j.Slf4j;@Slf4jpublic class MyTest { private static final long initialDelay = 0; private static final long period = 500;// 500 millseconds @Test public void test0(){ ThreadFactory namedThreadFactory = new ThreadFactoryBuilder().setNameFormat("scheduledPool-%d").build(); ScheduledExecutorService scheduledPool = Executors.newScheduledThreadPool(2, namedThreadFactory); scheduledPool.scheduleAtFixedRate( new Account(), initialDelay, period, TimeUnit.MILLISECONDS ); Thread t=Thread.currentThread(); t.suspend(); } class Account implements Runnable{ @Override public void run() { log.info(">> 11111111111"); } }}
执行结果如下,
12:39:52.390 [scheduledPool-0] INFO ess.tester.MyTest - >> 1111111111112:39:52.884 [scheduledPool-0] INFO ess.tester.MyTest - >> 1111111111112:39:53.385 [scheduledPool-0] INFO ess.tester.MyTest - >> 1111111111112:39:53.885 [scheduledPool-1] INFO ess.tester.MyTest - >> 1111111111112:39:54.384 [scheduledPool-1] INFO ess.tester.MyTest - >> 1111111111112:39:54.885 [scheduledPool-1] INFO ess.tester.MyTest - >> 1111111111112:39:55.385 [scheduledPool-1] INFO ess.tester.MyTest - >> 1111111111112:39:55.885 [scheduledPool-1] INFO ess.tester.MyTest - >> 1111111111112:39:56.385 [scheduledPool-0] INFO ess.tester.MyTest - >> 1111111111112:39:56.885 [scheduledPool-1] INFO ess.tester.MyTest - >> 1111111111112:39:57.385 [scheduledPool-1] INFO ess.tester.MyTest - >> 1111111111112:39:57.885 [scheduledPool-1] INFO ess.tester.MyTest - >> 1111111111112:39:58.385 [scheduledPool-0] INFO ess.tester.MyTest - >> 1111111111112:39:58.885 [scheduledPool-0] INFO ess.tester.MyTest - >> 1111111111112:39:59.385 [scheduledPool-1] INFO ess.tester.MyTest - >> 1111111111112:39:59.885 [scheduledPool-0] INFO ess.tester.MyTest - >> 1111111111112:40:00.385 [scheduledPool-1] INFO ess.tester.MyTest - >> 1111111111112:40:00.885 [scheduledPool-1] INFO ess.tester.MyTest - >> 1111111111112:40:01.385 [scheduledPool-0] INFO ess.tester.MyTest - >> 1111111111112:40:01.885 [scheduledPool-1] INFO ess.tester.MyTest - >> 1111111111112:40:02.385 [scheduledPool-1] INFO ess.tester.MyTest - >> 1111111111112:40:02.885 [scheduledPool-1] INFO ess.tester.MyTest - >> 11111111111
从上面可以看出,就是两个线程每次间隔500毫秒执行,这些都是可以配置的。
最后
扫描下方Q群二维码快速加入Java学习交流群
关注下方‘程序员周刊’微信公共帐号,每周获取最新IT资讯。
0 0
- newScheduledThreadPool创建可间隔时间执行的线程池
- ScheduledExecutorService创建newScheduledThreadPool线程池遇到的问题
- 四种线程池创建及使用(一)newScheduledThreadPool和newCachedThreadPool的使用方法详解
- 线程池的使用(newCachedThreadPool、newFixedThreadPool、newScheduledThreadPool、newSingleThreadExecutor)
- Java线程池newSingleThreadExecutor newFixedThreadPool newCachedThreadPool newScheduledThreadPool
- newScheduledThreadPool延时任务线程池,实现原理
- Java四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor
- Java线程池(newCachedThreadPool、newFixedThreadPool、newScheduledThreadPool 、newSingleThreadExector )
- JAVA线程池 newSingleThreadExecutor,newFixedThreadPool,newCachedThreadPool,newScheduledThreadPool(一)
- Executors 四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor
- Java四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor
- 浅谈Java四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor
- Java四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor
- 【多线程】newScheduledThreadPool线程池比较scheduleAtFixedRate和scheduleWithFixedDelay
- Java 四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor
- Java 四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor
- crontab 间隔时间执行
- js 间隔时间执行函数
- TCP协议--CLOSE_WAIT状态
- 常用学习网站
- Android webview 与js交互
- shell中的wait
- Tomcat启动报错A child container failed during start
- newScheduledThreadPool创建可间隔时间执行的线程池
- 如何通过JAVA发送邮件
- osg的NodeCallback回调使用方法
- Language Models
- csh shell编程入门
- 使用visualvm远程监控JVM LINUX tomcat服务器与客户端配置方法
- 对于唯一索引使用唯一条件搜索, InnoDB 只锁定找到的index record,不是它之前的区间
- 第6课:<body>标签
- codeforces 40A. Find Color