当前位置: 首页 > news >正文

抚州市临川区建设局网站公司排行榜

抚州市临川区建设局网站,公司排行榜,上海建筑装饰集团有限公司,动漫设计属于什么大类标题java四种线程池及使用示例 1、线程工厂 1、我们先来写ThreadFactory#xff0c;在创建线程池时候可以传入自定义的线程工厂#xff0c;线程工厂说白了就是用来定制线程的一些属性#xff1a;名字、优先级、是否为守护线程。直接看代码即可。 当然创建线程池的时候可以…标题java四种线程池及使用示例 1、线程工厂 1、我们先来写ThreadFactory在创建线程池时候可以传入自定义的线程工厂线程工厂说白了就是用来定制线程的一些属性名字、优先级、是否为守护线程。直接看代码即可。 当然创建线程池的时候可以不传入自定义线程工厂。 public class MyThreadFactory implements ThreadFactory {private static final String thread_prefix self_thread;private AtomicInteger integer new AtomicInteger(0);private String threadName null;public MyThreadFactory(String threadName) {this.threadName threadName;}public MyThreadFactory() {}Overridepublic Thread newThread(Runnable r) {Thread thread new Thread(r);String name threadName null ? thread_prefix integer.getAndIncrement() : threadName integer.getAndIncrement();thread.setName(name);return thread;} }2、我们来详细看一下四种线程池 单一线程的线程池可缓存的线程池可周期性执行的线程池固定数目的线程池.newSingleThreadExecutor.newCachedThreadPool.newScheduledThreadPool.newFixedThreadPool 1、单一线程的线程池 此线程池只有一个线程用仅有的一个线程来执行任务保证所有的任务按照指定顺序FIFOLIFO优先级执行所有的任务都保存在队列LinkedBlockingQueue中等待唯一的单线程来执行任务。 private static final Object lock new Object();private static int count 0;private static void testSingleThreadThreadPool() {ExecutorService service Executors.newSingleThreadExecutor(new MyThreadFactory(singleThread));for (int i 0; i 6; i) {test(service);}}private static void test(ExecutorService service) {synchronized (lock) {count;System.out.println(Thread.currentThread().getName());if (count 5) {System.out.println(count 5 shutdown );service.shutdown();}}}可以从输出看到只new了一个线程。 2、可缓存的线程池 创建一个可缓存的无界线程池如果线程池长度超过处理需要可灵活回收空线程若无可回收则新建线程。当线程池中的线程空闲时间超过60s则会自动回收该线程当任务超过线程池的线程数则创建新的线程线程池的大小上限为Integer.MAX_VALUE,可看作无限大。 private static void testCachedThreadPool() {ExecutorService service Executors.newCachedThreadPool(new MyThreadFactory(cached));for (int i 0; i 1000; i) { // 循环数稍微大一点 模拟线程回收后被复用service.submit(new Runnable() {Overridepublic void run() {System.out.println(Thread.currentThread().getName()); // 可从控制台看出相同线程名的线程}});}}3、可周期性执行的线程池 private static void testScheduleThreadPool() {/*** 可周期性执行的线程池 延迟2秒执行 每间隔4秒执行一次** 是“以固定的频率”执行period周期指的是两次成功执行之间的时间。* 上一个任务开始的时间计时一个period后检测上一个任务是否执行完毕* 如果上一个任务执行完毕则当前任务立即执行如果上一个任务没有执行完毕* 则需要等上一个任务执行完毕后立即执行。*/ExecutorService service Executors.newScheduledThreadPool(6, new MyThreadFactory());((ScheduledExecutorService) service).scheduleAtFixedRate(new Runnable() {Overridepublic void run() {test(service);}}, 2, 4, TimeUnit.SECONDS);// 定时 执行一次 的任务延迟1s后执行((ScheduledExecutorService) service).schedule(new Runnable() {Overridepublic void run() {System.out.println(Thread.currentThread().getName() , delay 1s);}}, 1, TimeUnit.SECONDS);/*** “以固定的延时”执行delay延时指的是一次执行终止和下一次执行开始之间的延迟。*/((ScheduledExecutorService) service).scheduleWithFixedDelay(new Runnable() {Overridepublic void run() {long start new Date().getTime();System.out.println(scheduleWithFixedDelay 开始执行时间: DateFormat.getTimeInstance().format(new Date()));try {Thread.sleep(5000);} catch (InterruptedException e) {e.printStackTrace();}long end new Date().getTime();System.out.println(scheduleWithFixedDelay执行花费时间 (end - start) / 1000 m);System.out.println(scheduleWithFixedDelay执行完成时间 DateFormat.getTimeInstance().format(new Date()));System.out.println();System.out.println();}}, 2, 3, TimeUnit.SECONDS);}4、固定数目的线程池 这个就很好理解了。固定数量的线程。 /*** 固定数量的线程池*/private static void testFixedThreadPool() {ExecutorService service Executors.newFixedThreadPool(5, new MyThreadFactory());for (int i 0; i 8; i) {service.submit(new Runnable() {Overridepublic void run() {test(service);}});}}5、方法对比
http://www.tj-hxxt.cn/news/218223.html

相关文章:

  • 信阳网站建设培训网站设计怎么做好
  • 空调维修网站模板深圳专业做网站电话
  • 有哪些网站是静态网站注册完域名怎么做网站
  • 团购营销型网站制作seo学徒是做什么
  • 汕头网站搜索优化江西宣传片制作公司
  • 昆明网站建设代理网站域名备案转接入手续
  • 陕西网站建设价格一个小程序开发费用
  • 长沙做网站要微联讯点很好简单的网站建设
  • 宁夏省建设厅网站军事新闻头条2023
  • 做房产的网站实体店营销案例100例
  • 潍坊网站建设评价学校安全教育网站建设
  • 设计投稿网站discuz最新模板
  • 做网站运维的待遇电脑网站设计公司
  • 建设教育网站的目的wordpress每次都要ftp
  • 重庆建站管理系统开发网页游戏大全2010
  • 施秉网站建设平面设计工资有5000吗
  • 网站开发项目验收报告网站建设公司网站建设公司
  • 杭州网站建设市场做兼职网上哪个网站
  • 我也来做外国网站购物网站专题页面设计规范
  • 帮做毕设的网站南京做网站多少钱
  • 朵朵软件网站建设二级域名免费
  • 网站建设与规划实训报告个人备案网站名称怎么写
  • 网站建设项目详情c 建设网站iis
  • 长沙网站推广seowordpress全站同一个标题
  • 我做夫人那些年网站登录开发公司办出项目不动产证纪实
  • 企业如何建设网站wordpress数据库清理
  • seo企业网站模板将自己做的网站发布到网上
  • 金华市建设银行网站沈阳建设工程交易网官网
  • 闵行做网站建设c 网站开发的好处
  • 外国做ppt的网站建设部网站监理公告