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

莱西网站建设wap网站的域名

莱西网站建设,wap网站的域名,山东食品行业网站开发,沈阳企业网站制作公司目录 什么是线程池 线程池的类型 1.CachedThreadPool 2.FixedThreadPool 3.ScheduledThreadPool 4.SingleThreadPool 5.newWorkStealingPool 线程池的好处 1、线程池的重用 2、控制线程池的并发数 3、线程池可以对线程进行管理 线程池的示例 1.Client启动类 2.具体…目录 什么是线程池 线程池的类型 1.CachedThreadPool 2.FixedThreadPool 3.ScheduledThreadPool 4.SingleThreadPool 5.newWorkStealingPool 线程池的好处 1、线程池的重用 2、控制线程池的并发数 3、线程池可以对线程进行管理 线程池的示例 1.Client启动类 2.具体业务类实现Runnable接口并实现了run方法 3.执行结果 什么是线程池 线程池是一种多线程处理形式处理过程中将任务添加到队列然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小以默认的优先级运行并处于多线程单元中。如果某个线程在托管代码中空闲如正在等待某个事件,则线程池将插入另一个辅助线程来使所有处理器保持繁忙。如果所有线程池线程都始终保持繁忙但队列中包含挂起的工作则线程池将在一段时间后创建另一个辅助线程但线程的数目永远不会超过最大值。超过最大值的线程可以排队但他们要等到其他线程完成后才启动。 线程池的类型 1.CachedThreadPool 适合使用在任务量 大但耗时少的任务。 2.FixedThreadPool 适合使用在任务量比 较固定但耗时长的任务。 3.ScheduledThreadPool 适合使用在执行 定时任务和具体固定周期的重复任务。 4.SingleThreadPool 适合使用在多个任务 顺序执行的场景。 5.newWorkStealingPool 适合使用在很耗 时的任务中。 线程池的好处 1、线程池的重用 线程的创建和销毁的开销是巨大的而通过线程池的重用大大减少了这些不必要的开销当然既然少了这么多消费内存的开销其线程执行速度也是突飞猛进的提升。 2、控制线程池的并发数 控制线程池的并发数可以有效的避免大量的线程池争夺CPU资源而造成堵塞。 3、线程池可以对线程进行管理 线程池可以提供定时、定期、单线程、并发数控制等功能。比如通过ScheduledThreadPool线程池来执行S秒后每隔N秒执行一次的任务。 线程池的示例 拿NewFixedThreadPool线程池举例。newFixedThreadPool的特点是他的核心线程数和最大线程数是一致的并且是一个固定线程数的线程池。线程池的大小一旦达到最大值后再有新的任务提交时则放入无界阻塞队列中等到有线程空闲时再从队列中取出任务继续执行。 1.Client启动类 import java.util.ArrayList; import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors;/*** BelongsProject: demo* BelongsPackage: com.wzl* Author: Wuzilong* Description: 线程池-多线程* CreateTime: 2022-12-30 08:55* Version: 1.0*/public class Client {public static void main(String[] args) {ExecutorService executorService Executors.newFixedThreadPool(80);//构造CountDownLatch传入数量为10000初始化的计数器大小为1000,与学生数量对应。ListString numbernew ArrayList();for (int i 0; i 10000; i) {number.add( 少了 i 袋牛奶);}final CountDownLatch latch new CountDownLatch(number.size());//计算1000个学生的学习数据for (int i 0; i number.size() ; i) {//线程提交任务executorService.submit(new DrinkMilk(i,latch,number));}try{//使调用该方法的主线程处于等待状态当倒数到0时主线程才执行。latch.await();} catch (InterruptedException e) {throw new RuntimeException(XXX喝牛奶多线程处理异常,e);}//关闭线程池executorService.shutdown();} } newFixedThreadPool(80)80指的是线程池的固定大小根据电脑的配置情况来启动对应的线程数 new DrinkMilk(i,latch,number):将具体业务需要用到的对象或者值通过实例化对象以构造函数的形式传到具体业务类中CountDownLatch(number.size())等子线程都执行完毕之后主线程才继续执行。传入的参数要和执行的线程是一致的2.具体业务类实现Runnable接口并实现了run方法 import java.util.List; import java.util.concurrent.CountDownLatch;/*** BelongsProject: demo* BelongsPackage: com.wzl* Author: Wuzilong* Description: 具体业务类* CreateTime: 2022-12-30 08:55* Version: 1.0*/public class DrinkMilk implements Runnable {int drinkMilkNumber;CountDownLatch latch;ListString number;public DrinkMilk(int drinkMilkNumber, CountDownLatch latch, ListString number) {this.drinkMilkNumberdrinkMilkNumber;this.latchlatch;this.numbernumber;}Overridepublic void run() {this.business();latch.countDown();}private void business(){System.out.println(XXX喝了drinkMilkNumber袋牛奶Thread.currentThread().getName());}} 3.执行结果
http://www.hkea.cn/news/14449264/

相关文章:

  • n加1网站建设无忧建站
  • 上海权威发布最新消息重庆网站优化网络服务
  • 电商网站建设公司哪家好郑州一站式网站搭建
  • 做网站友汇网抄袭网站后台会侵权吗
  • 怎样进行网站后台管理百度识图以图搜图
  • 外贸建站专业公司长春火车站防疫政策
  • 微信网站上传图片大学网站建设评比考核办法
  • 4a级旅游网站建设的要求网络空间服务商
  • 有没有哪个网站能够做简历怎么找关键词
  • 梁山网站开发网站建设 账务处理
  • 电子商务网站模板免费下载wordpress评论回复通知
  • 域名出售网站linux wordpress配置文件
  • 网站后台百度关键词竞价
  • 建立购物网站 appapp打包平台
  • 八字排盘网站建设网站如何编辑
  • 十堰建网站厦门seo优化
  • 东莞网站制作外包锦州网站建设公司
  • 做扎染的网站做网站服务器收费吗
  • 房产网站建设推广做网站什么软件好
  • 手机网站开发 速度傻瓜式wordpress
  • 中英文网站程序网站优化哪家好
  • 智慧园区 展厅设计seo快速排名培训
  • 淮安做微信网站群辉wordpress端口
  • 下载什么网站做吃的北京网络推广外包
  • 网站建设工作总结报告在线制作网页网站
  • 福建设计招标网站企业网站建设课程设计
  • 网页设计网站结构图怎么弄梵克雅宝中文官网
  • 如何做网站meta设置个性logo设计北京vi设计公司
  • 设计网站如何推广我要注册账号
  • 网站能为智慧城市建设作出什么贡献自己模板做网站