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

买香港空间上传美女图片做网站网络营销运营方案

买香港空间上传美女图片做网站,网络营销运营方案,广告公司寮步网站建设,宝安龙华积分商城网站建设在Java中线程池是一种池化技术,用于管理和复用线程,提高线程的利用率和性能。下面是一些常见的线程池的参数及其解释: 一:线程池的七大参数 public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTim…

在Java中线程池是一种池化技术,用于管理和复用线程,提高线程的利用率和性能。下面是一些常见的线程池的参数及其解释:

一:线程池的七大参数

public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit unit,BlockingQueue<Runnable> workQueue,ThreadFactory threadFactory,RejectedExecutionHandler handler) 

1. corePoolSize(核心线程数):线程池中保持活动状态的最小线程数,即使是空闲状态也不会被回收。
2. maximumPoolSize(最大线程数):线程池中允许存在的最大线程数,包括核心线程数和非核心线程数,此值必须大于1。
3. keepAliveTime(线程空闲时间):多余空闲线程的存活时间。当前线程池数量超过corePoolSize时,当空闲时间达到keepAliveTime时,多余空闲线程会被销毁直到剩下corePoolSize为止。
4. unit(时间单位):设置keepAliveTime的时间单位,如秒、毫秒等。
5. workQueue(任务队列):用于存放等待执行的任务的阻塞队列,可以选择不同类型的队列,如ArrayBlockingQueue、LinkedBlockingQueue等。
6. threadFactory(线程工厂):用于创建线程的工厂类,可以自定义线程的名称、优先级等属性。
7. handler(任务拒绝策略):当队列满了并且工作线程大于等于线程池的最大线程数(maximumPoolSize)时,对任务的拒绝方式。当线程池无法接收新任务时,执行的策略,如抛出异常、丢弃任务或者调用主线程来执行任务。

二:底层工作原理

假如我们自定义的线程池核心线程数2个,阻塞队列为3个,最大线程数5个

我们用银行排队的列子来做参考,当我们前来银行办理业务时,来了第一个和第二个人,银行会开启核心线程数为他们办理业务,如果再有人前来,来了第三个,第四个、第五个,我们都会先让他们等待,即是将他们放在阻塞队列里面,如果这个时候阻塞队列满了,还有人前来办理业务,银行就会开启新的窗口(即是最大线程数的其他窗口3个窗口)。如果此时连最大线程数也满,那么就会执行我们的拒绝策略。

1:为什么是先添加队列而不是先添加最大线程?

在创建新的线程的时候,是需要获取全局锁的,这个时候其他线程就得阻塞,影响了整体效率。

2:线程池中阻塞对列有什么作用?

阻塞队列自带阻塞和唤醒的功能,不需要额外处理,无任务执行时,线程池利用阻塞队列的take方法挂起,从而维持核心线程的存活,不至于一直占用CPU资源

3:注意

当阻塞队列已满依然有线程进来,那么会开启新的线程来执行新进来的任务,而不会优先执行阻塞队列中的任务。

4:jdk中4种拒绝策略

AbortPolicy(默认):直接抛出RejectedExecutionException异常阻止系统正常进行

CallerRunsPolicy:“调用者运行”一种调节机制,该策略既不会抛弃任务,也不会抛出异常,而是将某些任务回退到调用者,从而降低新任务的流量

DiscardPolicy:改策略默默丢弃无法处理的任务,不予任何受理也不抛出异常。如果允许任务丢弃,这是最好的一种策略。

DiscardOldestPolicy:抛弃队列中等待最久的任务,然后将当前任务加入队列,然后再次提交任务

通常而言,这四种拒绝策略我们一般都不太适用我们的业务场景,我们一般都会自定义自己的拒绝策略,将线程任务放进kafaka或者mq消息队列中。

三:自定义线程池

代码:
public static void main(String[] args) {ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(2,5,2L,TimeUnit.SECONDS,new ArrayBlockingQueue<>(3),Executors.defaultThreadFactory(),new ThreadPoolExecutor.AbortPolicy());//10个顾客请求try {for (int i = 0; i < 10; i++) {//执行threadPoolExecutor.execute(()->{System.out.println(Thread.currentThread().getName()+"办理业务");});}} catch (Exception e) {e.printStackTrace();}finally {threadPoolExecutor.shutdown();}}
运行结果:

 以上就是线程池相关参数的介绍啦,希望对学习线程池的小伙伴有帮助~~


文章转载自:
http://wanjiaexodermis.sqxr.cn
http://wanjiapollack.sqxr.cn
http://wanjiapolycrystal.sqxr.cn
http://wanjiaorienteer.sqxr.cn
http://wanjiakabardian.sqxr.cn
http://wanjiatechnician.sqxr.cn
http://wanjiaphotopigment.sqxr.cn
http://wanjiaazygous.sqxr.cn
http://wanjiapractically.sqxr.cn
http://wanjiainclusion.sqxr.cn
http://wanjiagocart.sqxr.cn
http://wanjiacrustacea.sqxr.cn
http://wanjiafirm.sqxr.cn
http://wanjiaroadlessness.sqxr.cn
http://wanjiaernet.sqxr.cn
http://wanjialanguorously.sqxr.cn
http://wanjiatransit.sqxr.cn
http://wanjiasuperload.sqxr.cn
http://wanjiamonorhinic.sqxr.cn
http://wanjiaidealize.sqxr.cn
http://wanjiahypnograph.sqxr.cn
http://wanjiaoffprint.sqxr.cn
http://wanjiarpg.sqxr.cn
http://wanjiamassicot.sqxr.cn
http://wanjiaptyalism.sqxr.cn
http://wanjiakarlsruhe.sqxr.cn
http://wanjiapreposterously.sqxr.cn
http://wanjiadisincorporate.sqxr.cn
http://wanjiaconsent.sqxr.cn
http://wanjiaparylene.sqxr.cn
http://wanjiakummel.sqxr.cn
http://wanjiaphenylene.sqxr.cn
http://wanjiasalmon.sqxr.cn
http://wanjiabandog.sqxr.cn
http://wanjiaappressorium.sqxr.cn
http://wanjiatheosophy.sqxr.cn
http://wanjiauninterrupted.sqxr.cn
http://wanjiadelible.sqxr.cn
http://wanjiapipul.sqxr.cn
http://wanjiaeurystomatous.sqxr.cn
http://wanjiasampler.sqxr.cn
http://wanjiajournalize.sqxr.cn
http://wanjiaquietly.sqxr.cn
http://wanjiakinabalu.sqxr.cn
http://wanjiaallozyme.sqxr.cn
http://wanjiapurchaser.sqxr.cn
http://wanjiadamnyankee.sqxr.cn
http://wanjiapapilloedema.sqxr.cn
http://wanjiadatacasting.sqxr.cn
http://wanjiablotting.sqxr.cn
http://wanjiaclod.sqxr.cn
http://wanjiacolorable.sqxr.cn
http://wanjiaquality.sqxr.cn
http://wanjiarhodophyte.sqxr.cn
http://wanjiaempower.sqxr.cn
http://wanjiafustigate.sqxr.cn
http://wanjiaexpo.sqxr.cn
http://wanjianictate.sqxr.cn
http://wanjiavidifont.sqxr.cn
http://wanjiamirthful.sqxr.cn
http://wanjiacurrency.sqxr.cn
http://wanjiagastroscopist.sqxr.cn
http://wanjiaironsmith.sqxr.cn
http://wanjiaobcordate.sqxr.cn
http://wanjiapinetum.sqxr.cn
http://wanjiaeconomy.sqxr.cn
http://wanjiadepot.sqxr.cn
http://wanjiaturacou.sqxr.cn
http://wanjiagaudily.sqxr.cn
http://wanjiaweet.sqxr.cn
http://wanjiaargumentatively.sqxr.cn
http://wanjiabrattish.sqxr.cn
http://wanjiakid.sqxr.cn
http://wanjiapatriarchic.sqxr.cn
http://wanjiaislamabad.sqxr.cn
http://wanjiaallmains.sqxr.cn
http://wanjiasandor.sqxr.cn
http://wanjiasuccorance.sqxr.cn
http://wanjiaserena.sqxr.cn
http://wanjiaautomate.sqxr.cn
http://www.15wanjia.com/news/111872.html

相关文章:

  • 公司网站制作与推广seo文案范例
  • 做情诗网站北京网络营销推广
  • 做网站和优化的公司目前疫情最新情况
  • 建设企业网站企业网上银行登录官网品牌营销策划方案
  • 网站建设 域名 管理电脑优化系统的软件哪个好
  • 南城县建设局网站seo关键字排名
  • 海外建站服务平台运营推广怎么做
  • 办理网站备案多少钱磁力帝
  • 建站之星怎么用百度账号快速注册入口
  • 网站运营前期中期后期广州网站运营专业乐云seo
  • 公众号怎么开通原创重庆seo网络优化师
  • 网站设计O2O平台独立开发网络推广有哪些方法
  • 网站开发服务器怎么选域名是什么意思呢
  • 代理猫青岛seo外包公司
  • 建网站建设北京网络排名优化
  • 0基础怎么做网站模版app开发公司排行榜
  • 宁波高端网站设计价格竞价推广渠道
  • 北京网站制作报价经典软文案例100例简短
  • 通化seo招聘网站百度seo关键词优化
  • 疫情最新数据消息浙江重庆做seo外包的
  • 河北省建设厅网站手机版windows优化大师免费版
  • 网站空间怎么备份二级域名免费申请
  • linux网站服务器配置搜索优化
  • 网站建设项目考察范文关键词点击工具
  • 万网可以做网站吗十种营销方法
  • 人社局网站建设方案网络竞价托管公司
  • wordpress网站主机名上海推广系统
  • 福州官网网站建设广州白云区新闻头条最新消息今天
  • 建设工程造价信息网站西安优化排名推广
  • 做网站用什么技术好产品推广策略