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

做网站数据库设计近期国内新闻

做网站数据库设计,近期国内新闻,自己建设一个平台网站多少钱,wordpress 升级 无法创建目录1.为什么要用线程池? 线程池提供了一种限制和管理资源(包括执行一个任务)。 每个线程池还维护一些基本统计信息,例如已完成任务的数量。 这里借用《Java并发编程的艺术》提到的来说一下使用线程池的好处: 降低资源消…

1.为什么要用线程池?
线程池提供了一种限制和管理资源(包括执行一个任务)。   每个线程池还维护一些基本统计信息,例如已完成任务的数量。
这里借用《Java并发编程的艺术》提到的来说一下使用线程池的好处:
降低资源消耗。 通过重复利用已创建的线程降低线程创建和销毁造成的消耗。提高响应速度。 当任务到达时,任务可以不需要的等到线程创建就能立即执行。
提高线程的可管理性。 线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性, 使用线程池可以进行统一的分配,调优和监控。

2.实现Runnable接口和Callable接口的区别
如果想让线程池执行任务的话需要实现的Runnable接口或Callable接口。 Runnable接口或Callable接口实现类都可以被ThreadPoolExecutor或ScheduledThreadPoolExecutor执行。两者的区别在于    Runnable    接口不会返回结果但是 Callable 接口可以返回结果。
备注: 工具类Executors 可以实现Runnable 对象和Callable 对象之间的相互转换。
( Executors.callable(Runnable task) 或Executors.callable(Runnable task,Object resule) )。

3执行execute()方法和submit()方法的区别是什么呢?
1)execute() 方法用于提交不需要返回值的任务,所以无法判断任务是否被线程池执行成功与否;

2)submit()方法用于提交需要返回值的任务。线程池会返回一个future类型的对象,通过这个future对象可以判断任务是否执行成功,并且可以通过future的get()方法来获取返回值,get()方法会阻塞当前线程直到任务完成,而使用get(long timeout,TimeUnit unit) 方法则会阻塞当前线程一段时间后立即返回,这时候有可能任务没有执行完。

4如何创建线程池
《阿里巴巴Java开发手册》中强制线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险:

Executors 返回线程池对象的弊端如下:
FixedThreadPool 和 SingleThreadExecutor : 允许请求的队列长度为 Integer.MAX_VALUE,可能堆积大量的请求,从而导致OOM。
CachedThreadPool 和 ScheduledThreadPool : 允许创建的线程数量为 Integer.MAX_VALUE ,可能会创建大量线程,从而导致OOM。Executors 返回线程池对象的弊端如下:
FixedThreadPool 和 SingleThreadExecutor : 允许请求的队列长度为 Integer.MAX_VALUE,可能堆积大量的请求,从而导致OOM。

方式一:通过构造方法实现

方式二:通过Executor 框架的工具类Executors来实现 我们可以创建三种类型的ThreadPoolExecutor

FixedThreadPool  :  该方法返回一个固定线程数量的线程池。该线程池中的线程数量始终不变。当有一个新的任务提交时,线程池中若有空闲线程,则立即执行。若没有,则新的任务会被暂存在一个任务队列中,待有线    程空闲时,便处理在任务队列中的任务。

SingleThreadExecutor:    方法返回一个只有一个线程的线程池。若多余一个任务被提交到该线程池,任务会被保存在一个任务队列中,待线程空闲,按先入先出的顺序执行队列中的任务。

CachedThreadPool:    该方法返回一个可根据实际情况调整线程数量的线程池。线程池的线程数量不确定,但若有空闲线程可以复用,则会优先使用可复用的线程。若所有线程均在工作,又有新的任务提交,则会创建新   的线程处理任务。所有线程在当前任务执行完毕后,将返回线程池进行复用。

对应Executors工具类中的方法如图所示

http://www.tj-hxxt.cn/news/113585.html

相关文章:

  • 网站建设程序代码seo培训多少钱
  • 部标平台软件网站开发最近七天的新闻大事
  • 安徽六安什么时候解封seo推广专员工作好做吗
  • 温州市手机网站制作多少钱北京网站优化专家
  • 和平县做网站网站广告投放收费标准
  • html做简单网站实例新闻源软文推广平台
  • 2022永久免费客服系统乐陵seo外包
  • 拍写真昆明seo工资
  • 乌鲁木齐做网站推广优化百度seo技术搜索引擎
  • 互联网外包平台seo外包服务专家
  • 做网做网站建设百度店面定位怎么申请
  • 制作精美网站建设独立广州seo优化公司
  • 怎么做抽奖网站大连今日新闻头条
  • 视频直播网站建设企业门户网站的设计与实现
  • 秦皇岛哪里能做网站广告网址
  • 太原市网站建设淘宝seo搜索优化
  • 中央广播电视总台国际在线免费的seo优化
  • 百度云建站网站建设百度站长电脑版
  • 武汉科技职业学院官网入口seo服务深圳
  • 如何让做的网站自动适应浏览器网站建设网站定制
  • 息壤网站模板怎么给自己的公司做网站
  • 中山企业手机网站建设今日实时热点新闻事件
  • 自己做的美食分享到网站百度总部电话
  • 初学者做网站考研培训班哪个机构比较好
  • 大岭山建设网站电脑培训班价目表
  • 网站开发项目答辩主持词淘宝网页版
  • 秦皇岛建设里二手房长沙seo网站排名
  • 个人站长做网站需要多少钱长春网络科技公司排名
  • 起飞页做网站短视频seo代理
  • 北京开发办网站营销技巧在线完整免费观看