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

广告设计与制作就业前景泰安seo

广告设计与制作就业前景,泰安seo,高端大气的网站制作,吉安工商注册官方网站前言 为什么选择使用多线程?一种场景是在数据和业务处理能力出现瓶颈时,而服务器性能又有空闲,通常是cpu空闲,这时使用多线程就能很好的解决问题,而又无需加硬件,实际使用中,线程池又是最为常用…

前言

为什么选择使用多线程?一种场景是在数据和业务处理能力出现瓶颈时,而服务器性能又有空闲,通常是cpu空闲,这时使用多线程就能很好的解决问题,而又无需加硬件,实际使用中,线程池又是最为常用的一种,本文介绍了newFixedThreadPool的使用方法

原理

newFixedThreadPool内部有一种阻塞队列,是一个无界的LinkedBlockingQueue,任务放在队列中,线程由线程池初始化创建好,如果有空闲线程,那么就调用去处理队列中的任务,没有就排队
需要注意的是这个队列可能会变得很大,要注意线程池的处理能力,避免排队任务太多造成内存溢出,其最大值是Integer的上限,不过由于是链表,也可以无限延长,或者可以在参数中显式创建有界阻塞队列,避免这个问题

实际使用

ExecutorService executor = Executors.newFixedThreadPool(num);

创建线程池,这里num是线程数量
然后这里做了一个循环模拟运行线程,注意最后要关闭线程池

  for (int i = 0; i < 10; i++) {executorService.execute(new Task(i));}executorService.shutdown();class Task implements Runnable {private int id;public Task(int id) {this.id = id;}public void run() {System.out.println("Task " + id + " is running...");}       

这种方法是execute方式,也可以使用submit方式,这两种方式区别在于
1,可以用Future对象获取submit的结果
2,execute()方法只能接受Runnable类型的任务,而submit()方法既可以接受Runnable类型的任务,也可以接受Callable类型的任务。
3,execute()方法是一种异步提交方式,即提交任务后立即返回,不会等待任务执行完成。而submit()方法是一种同步提交方式,即提交任务后会阻塞当前线程,直到任务执行完成。
4,而execute()方法没有提供取消任务的方法,submit()方法返回的Future对象可以用来取消任务
5,execute()方法中如果任务执行过程中发生了异常,则异常会被传递到任务提交的地方,并由任务提交的线程来处理。而submit()方法中,如果任务执行过程中发生了异常,异常将被封装在Future对象中,直到调用Future.get()方法时才会将异常抛出

优缺点

NFTP线程池优点在于使用简单,不需要手动的创建,管理,调度线程;同时由于线程数固定,不会出现超出导致系统崩溃,作为一个多线程的实现可以有效处理并发
缺点在于线程数固定,无法动态调整,同时暂存任务的阻塞队列长度无限拓展可能会造成内存耗尽,同时也无法控制任务时长,可能造成后续任务等待时间超长乃至失败,在笔者实际使用时,还发现这个线程池如果重复创建,可能会造成耗尽cpu资源,因为没有任务时长的控制,线程池执行过慢导致阻塞,这时即时手动interrupt依然会堆积线程,导致cpu执行过久无响应

http://www.cadmedia.cn/news/2538.html

相关文章:

  • 杭州建站供应商他达拉非片多少钱一盒
  • 湖南省建设厅建筑业信息网seo外包公司哪家专业
  • 建站工具大全百度搜索风云榜总榜
  • 湛江住房和城乡建设局网站b2b免费发布信息平台
  • 庆阳市人大常委会网站建设长春百度推广排名优化
  • php 手机网站源码关键词排名优化工具
  • 麦田建设工程网站深圳网站设计实力乐云seo
  • 济南中建设计院有限公司网站奉节县关键词seo排名优化
  • 中华人民建设部网站app平台搭建
  • 基于php的网站建设思路方案seo是指什么职位
  • 个人网页设计图片素材seo如何提升排名收录
  • b2c电子商务网站的特点搜索引擎优化的内部优化
  • 网站收录目录源码网络营销的十大特点
  • 注册网站后邮箱收到邮件青岛seo百科
  • 企业运营流程百度seo公司整站优化
  • 安居客官网网站东莞seo建站推广费用
  • 口碑好的网站建设哪家好软文营销的优势
  • 赣州网站建设网站百度
  • 网站建设英文方案十大技能培训机构排名
  • 国土资源局网站建设制度seo优化的内容有哪些
  • 建设英文网站seo快速排名是什么
  • 前端开发助理是培训机构吗优化大师手机版
  • 网站开发运行环境有哪些河北seo诊断培训
  • 域名访问网址深圳做网站seo
  • 青海省城乡建设信息官官方网站成都seo优化公司排名
  • 南昌网站建设价格百度识图在线
  • 网站建设内容策划案免费网页代码大全
  • 园区网站建设洛阳seo博客
  • 全国企业老板电话名录seo权重是什么意思
  • 遵义网站建设txwlseo公司杭州