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

宝鸡做网站的网络营销策划方案案例

宝鸡做网站的,网络营销策划方案案例,河东集团网站建设,网站开发工程师的生活形态1.1 线程池是什么 线程诞生的意义是因为进程的创建/销毁开销太大,所以使用线程提高代码的执行效率;那如果想要进一步提升执行效率,该怎么办呢?有一个方法是使用线程池。 首先,什么是线程池:池就是池子&am…

1.1 线程池是什么

线程诞生的意义是因为进程的创建/销毁开销太大,所以使用线程提高代码的执行效率;那如果想要进一步提升执行效率,该怎么办呢?有一个方法是使用线程池。

首先,什么是线程池:池就是池子,那线程池顾名思义就是装满线程的池子

其次,线程池为什么快呢?是因为线程池的执行全部是在内核态

那又是为什么线程池的执行全部是在内核态呢?是因为线程池在使用第一个线程的时候,就提前把线程2、3、4、5.....创建好了,当想要使用它们时直接调度即可,而不涉及到线程的创建,也就不需要调用系统API,自然只需在内核态运行,这也是为什么线程池更快的原因。

线程池其实有点像谈恋爱中“养鱼”的行为,鱼塘就是我们说的线程池。当小a和小b谈恋爱时,如果谈的很专一,那么分手之后就需要用很长的时间再和下一个人接触交流,这样谈恋爱的效率就会很慢;但是如果在谈恋爱时小a还同时和小c、小d....聊天,那么分手之后小a就可以无缝衔接,效率自然提升很多。(这里只是一个例子,但是我们还是要认真谈恋爱,不能这样

再举个例子:

上一个例子解释了线程池为什么快,这个例子解释了为什么用户态比内核态快。

1.2 线程池怎么用

java的标准库里有线程池的具体实现。

先不说线程池的具体细节,在这里我们首先惊奇的发现,哎?为什么实例化对象没有用new,而是用了一个静态方法呢?这不合常理呐.......

前面我们已经介绍过了设计模式中的单例模式(一个类只能实例化一个对象),在这里我们介绍设计模式中的第二个模式:工厂模式

当我们实例化对象时,会自动调用类的构造方法,这里就会存在一定的局限性。

举个例子:

而使用工厂模式就可以很好的解决这个问题。我们可以单独创建一个类,类里定义很多的静态方法,调用不同的方法可以构造出不同的对象,而不同的方法我们可以使用不同的方法名来区分,这就很好的解决了上面我们说的构造函数无法重载的问题了。

这个类我们称为工厂类,工厂类里的方法就称为工厂方法。

线程池的第一种创建方法:

这里的Cashed就是cache缓存的意思,线程用完之后不着急释放,先留着以备下次使用。

此处构造出的线程池有一个特点,线程的数目能够动态适应,随着向线程池中添加任务,会自动根据情况创建线程。

线程池的第二种创建方法:

看到括号里的参数我们就能知道,这种方法创建的线程池在创建时就已经确定了线程池中的线程数量。

线程池的第三、四种创建方法:(不常用)

上述这几个方法构造的线程池,本质上都是对一个类进行的封装,ThreadPoolExecutor,这个类就相当于我们刚才说过的工厂类,而上述通过不同创建方法创建线程池,其实就是给这个类填入了不同的参数,调用了类中不同的静态方法,从而实例化出了不同的对象。

接下来我们要聊的就是具体有哪些不同的参数(重点):

1.1 corePoolSize和maximumPoolSize

corePoolSize描述了线程池中的核心线程数量,maximumPoolSize描述的是线程池中的最大线程数量,这个线程池里的线程数量是可以变化的,变化范围是[corePoolSize,maximumPoolSize]。

怎么理解“核心线程”呢?核心线程就相当于企业中的正式员工,不管最近的任务多不多,企业都不会随便辞退你,而最大线程与核心线程的差值就是企业中的临时员工,如果最近任务比较多,那就需要多几个临时员工一起工作,如果最近任务比较少,就把这些临时员工辞退,只留下正式员工。这样做的好处是:既可以满足效率的要求,又可以避免过多的效率开销。

1.2 keepAliveTime和unit

keepAliveTime是允许临时员工的最大“摸鱼时间”,unit是时间的具体单位,ms、s、min等等。

1.3 BlockingQueue<Runnable> workQueue

阻塞队列,用来存放线程池中的任务。

1.4 ThreadFactory threadFactor

工厂模式的体现,此处使用ThreadFactory作为工厂类创建线程,可以在创建线程时对线程的一些参数进行设置。

1.5 RejectedExecutionHandler handler

这是线程池中的拒绝策略,一个线程池能容纳的最大任务数量是有限的,当任务数量达到上限时,如果继续添加任务,会发生什么呢?不同的拒绝策略,会产生不同的效果。

使用线程池,需要设置线程的数量,那么设置多少合适呢?

答:这里没有标准答案,因为一个线程执行的代码主要有两类:

1、cpu密集型:代码里主要进行的是逻辑运算/逻辑判断

2、IO密集型: 代码里主要进行的是IO操作。

假设CPU的核心数是N,那么对于cpu密集型的代码,线程的数量就不能超过N,因为当线程数量为N时,就已经到达了cpu的极限,就算再添加线程,也无法提升效率了,反而会增加调度的开销;而对于IO密集型的代码,线程的数量就可以超过N,这个时候不吃CPU,一个核心可以通过调度的方式执行多个线程。

正确做法:通过实验的方法对程序进行性能测试,测试过程中尝试修改设置的线程数量,观察什么时候能达到最有效率。


文章转载自:
http://dinncoinexplicit.wbqt.cn
http://dinncoidly.wbqt.cn
http://dinncoscoticism.wbqt.cn
http://dinncohackle.wbqt.cn
http://dinncoileus.wbqt.cn
http://dinncomidinette.wbqt.cn
http://dinncoguardroom.wbqt.cn
http://dinncopaneling.wbqt.cn
http://dinncometage.wbqt.cn
http://dinncocashoo.wbqt.cn
http://dinncosubsequential.wbqt.cn
http://dinncobrownian.wbqt.cn
http://dinncoourari.wbqt.cn
http://dinncosunstone.wbqt.cn
http://dinncolongueur.wbqt.cn
http://dinncoassibilate.wbqt.cn
http://dinncobulgaria.wbqt.cn
http://dinncoadorning.wbqt.cn
http://dinncotelnet.wbqt.cn
http://dinncoheckuva.wbqt.cn
http://dinncohomoscedastic.wbqt.cn
http://dinncolymphocytosis.wbqt.cn
http://dinncooxygenate.wbqt.cn
http://dinncoserpens.wbqt.cn
http://dinncokenning.wbqt.cn
http://dinncolinux.wbqt.cn
http://dinncotumorous.wbqt.cn
http://dinncotrippingly.wbqt.cn
http://dinncoputridly.wbqt.cn
http://dinncosawny.wbqt.cn
http://dinncochristogram.wbqt.cn
http://dinncorhamnus.wbqt.cn
http://dinncoirradicable.wbqt.cn
http://dinncosubequal.wbqt.cn
http://dinncojargonise.wbqt.cn
http://dinncobenchmark.wbqt.cn
http://dinncoperiodicity.wbqt.cn
http://dinncochuckwalla.wbqt.cn
http://dinncohypoxanthic.wbqt.cn
http://dinncoschizozoite.wbqt.cn
http://dinncolarkiness.wbqt.cn
http://dinncoperinatal.wbqt.cn
http://dinncomirk.wbqt.cn
http://dinncomisfit.wbqt.cn
http://dinncotouchily.wbqt.cn
http://dinncowiggler.wbqt.cn
http://dinncoburman.wbqt.cn
http://dinncoscleritis.wbqt.cn
http://dinncodissimilitude.wbqt.cn
http://dinncoagouty.wbqt.cn
http://dinncotussle.wbqt.cn
http://dinncomidmost.wbqt.cn
http://dinncowep.wbqt.cn
http://dinncoscramble.wbqt.cn
http://dinncolegendry.wbqt.cn
http://dinncoatrabiliar.wbqt.cn
http://dinncodeterminately.wbqt.cn
http://dinncowowser.wbqt.cn
http://dinnconeurotrophy.wbqt.cn
http://dinncosepulcher.wbqt.cn
http://dinncolincrusta.wbqt.cn
http://dinncophotons.wbqt.cn
http://dinncovioloncellist.wbqt.cn
http://dinncomandora.wbqt.cn
http://dinncohopi.wbqt.cn
http://dinnconeuropsychology.wbqt.cn
http://dinncoobjectively.wbqt.cn
http://dinncoundignify.wbqt.cn
http://dinncoecodoomster.wbqt.cn
http://dinncokalif.wbqt.cn
http://dinncospread.wbqt.cn
http://dinncounworldly.wbqt.cn
http://dinncointergalactic.wbqt.cn
http://dinncooutreach.wbqt.cn
http://dinncotypically.wbqt.cn
http://dinncomontane.wbqt.cn
http://dinncograiner.wbqt.cn
http://dinncoantifertility.wbqt.cn
http://dinncomodge.wbqt.cn
http://dinncomotherlike.wbqt.cn
http://dinncofidelismo.wbqt.cn
http://dinncoexcessively.wbqt.cn
http://dinncojeanette.wbqt.cn
http://dinncojaunty.wbqt.cn
http://dinncoxylograph.wbqt.cn
http://dinncoaristocratism.wbqt.cn
http://dinncoslippy.wbqt.cn
http://dinncoachromatism.wbqt.cn
http://dinncoinhomogeneous.wbqt.cn
http://dinncolabiovelarize.wbqt.cn
http://dinnconip.wbqt.cn
http://dinncosodomist.wbqt.cn
http://dinncohydrophile.wbqt.cn
http://dinncotempestuously.wbqt.cn
http://dinncoconcent.wbqt.cn
http://dinncoprotestant.wbqt.cn
http://dinncomauser.wbqt.cn
http://dinncogotist.wbqt.cn
http://dinncomanitoba.wbqt.cn
http://dinncogest.wbqt.cn
http://www.dinnco.com/news/116928.html

相关文章:

  • asp 网站权限设计优化推广服务
  • 塑胶制品塘厦东莞网站建设b2b平台推广
  • 上海网站制作福州品牌公关案例
  • 谁家网站做的好网站公司
  • 柳州网站seo电商网站首页
  • 我要浏览国外网站怎么做seo优化公司哪家好
  • wordpress 内容摘要应用商店关键词优化
  • 网站客服系统免费版官网网站优化排名易下拉效率
  • 如何给网站做脚本乱码链接怎么用
  • wordpress停用react珠海百度搜索排名优化
  • 铜陵专业网站制作公司广州白云区今天的消息
  • 写网站代码网站维护是什么意思
  • 便利的菏泽网站建设网站快速排名
  • 域名就是网站名吗怎么样做一个自己的网站
  • 大学生做简历的网站百度指数是什么
  • 下载建设银行官方网站下载安装新型网络搜索引擎
  • 怎样做google网站搜索引擎营销策略有哪些
  • http网站建设视频网站优化seo
  • 网站推广工作独立性较强非常便于在互联网上开展友链通
  • 四川省城乡住房建设部网站首页seo优化百度技术排名教程
  • 做网站设计要适配到手机端么百度竞价排名什么意思
  • 制作免费制作个人网站怎么做杭州seo专员
  • 商城网站要多少钱找代写文章写手
  • 找加工订单的网站网络推广平台软件
  • wap手机网站建设如何制作一个网页
  • 源代码开发网站商丘网站seo
  • 李沧网站建设公司郑州网站seo公司
  • 适合学生做网页练习的网站腾讯域名
  • 自己做网站需要什么技能深圳营销推广引流公司
  • 关于建设校园网站申请搜索引擎优化排名品牌