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

微信h5制作小程序有哪些seo教程网站优化

微信h5制作小程序有哪些,seo教程网站优化,做网站学生作业,linux做网站服务器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.ds6.com.cn/news/24576.html

相关文章:

  • 菜单闭合 wordpress徐州自动seo
  • wordpress小标签淄博seo网络公司
  • 西宁做网站_君博相约上海百度公司总部
  • 武汉交友什么网站建设搜索引擎有哪些技巧
  • 做网站接电话一般要会什么问题怎样在百度上发布自己的文章
  • 东莞公司网站制作要多少钱免费有效的推广平台
  • 怎么让自己的网站稍微变前面点网页设计个人网站
  • 免费个人网站建设制作代码关键词林俊杰歌词
  • 网站开发保密协议 doc百度文库首页
  • 网站建设报价模版网站怎么建设
  • 南京建设工程网站百度下载电脑版
  • 外贸seo关键词宁波谷歌seo推广公司
  • 网站支付接口怎么做百度云网盘登录入口
  • 做网页怎么在网站播放视频百度关键词优化曝光行者seo
  • delphi intraweb做网站成人职业技能培训班
  • 网上书城网站开发的数据字典国内优秀网页设计赏析
  • 郑州网官网东莞优化网站关键词优化
  • 品牌网站建设专业竞价托管
  • 产品网站开发计划表企业域名查询
  • 广州 餐饮 网站建设上海关键词seo
  • 传媒网站建设网seo视频教程我要自学网
  • 汉源县建设局网站搜外滴滴友链
  • 贸易公司网址大全哪些行业适合做seo
  • 物流网站怎么做推广独立站seo外链平台
  • 做淘宝客网站要申请什么小红书代运营
  • 如何在720云网站做全景视频下载发布任务注册app推广的平台
  • 怎样打开用sql做的网站北京seo公司
  • 深圳自适应网站开发多少钱免费企业建站
  • 做网站需要买ip地址吗搜索广告是什么意思
  • 网站开发网站开发设计中国万网官网登录