java微信开发框架使用文档,如何新建微服务?

灵灵柒捌玖拾

30天以前 4浏览
java微信开发框架使用文档,如何新建微服务?

操作数据库需要和数据库建立连接,拿到连接之后才能操作数据库,用完之后销毁。数据库连接的创建和销毁其实是比较耗时的,真正和业务相关的操作耗时是比较短的。每个数据库操作之前都需要创建连接,为了提升系统性能,后来出现了数据库连接池,系统启动的时候,先创建很多连接放在池子里面,使用的时候,直接从连接池中获取一个,使用完毕之后返回到池子里面,继续给其他需要者使用,这其中就省去创建连接的时间,从而提升了系统整体的性能。

线程池和数据库连接池的原理也差不多,创建线程去处理业务,可能创建线程的时间比处理业务的时间还长一些,如果系统能够提前为我们创建好线程,我们需要的时候直接拿来使用,用完之后不是直接将其关闭,而是将其返回到线程中中,给其他需要这使用,这样直接节省了创建和销毁的时间,提升了系统的性能。

简单的说,在使用了线程池之后,创建线程变成了从线程池中获取一个空闲的线程,然后使用,关闭线程变成了将线程归还到线程池。

线程池实现原理

当向线程池提交一个任务之后,线程池的处理流程如下:

判断是否达到核心线程数,若未达到,则直接创建新的线程处理当前传入的任务,否则进入下个流程

线程池中的工作队列是否已满,若未满,则将任务丢入工作队列中先存着等待处理,否则进入下个流程

是否达到最大线程数,若未达到,则创建新的线程处理当前传入的任务,否则交给线程池中的饱和策略进行处理。

流程:

举个例子,加深理解:

咱们作为开发者,上面都有开发主管,主管下面带领几个小弟干活,CTO给主管授权说,你可以招聘5个小弟干活,新来任务,如果小弟还不到吴哥,立即去招聘一个来干这个新来的任务,当5个小弟都招来了,再来任务之后,将任务记录到一个表格中,表格中最多记录100个,小弟们会主动去表格中获取任务执行,如果5个小弟都在干活,并且表格中也记录满了,那你可以将小弟扩充到20个,如果20个小弟都在干活,并且存放任务的表也满了,产品经理再来任务后,是直接拒绝,还是让产品自己干,这个由你自己决定,小弟们都尽心尽力在干活,任务都被处理完了,突然公司业绩下滑,几个员工没事干,打酱油,为了节约成本,CTO主管把小弟控制到5人,其他15个人直接被干掉了。所以作为小弟们,别让自己闲着,多干活。

原理:先找几个人干活,大家都忙于干活,任务太多可以排期,排期的任务太多了,再招一些人来干活,最后干活的和排期都达到上层领导要求的上限了,那需要采取一些其他策略进行处理了。对于长时间不干活的人,考虑将其开掉,节约资源和成本。

java中的线程池

jdk中提供了线程池的具体实现,实现类是:java.util.concurrent.ThreadPoolExecutor

本文仅代表作者观点,版权归属原创作者,如需转载请在文中标注来源及作则名字。

免责声明:本文系转载编辑文章,仅做分享只用,如有疑问请联系邮箱:110@zbj.com

java开发
大家都在看
Java常用的数据库有哪些?

Java常用的数据库有哪些?

java开发
5浏览
想从事于开发岗位,JAVA和HTML5选择哪个好?

想从事于开发岗位,JAVA和HTML5选择哪个好?

java开发
5浏览
Java中常用的开发工具有哪些?

Java中常用的开发工具有哪些?

java开发
7浏览
Java的前景真的就比web前端好吗?

Java的前景真的就比web前端好吗?

java开发
2浏览
javascriptxxs攻击如何解决?

javascriptxxs攻击如何解决?

java开发
3浏览
javascript、JSP、JS有什么区别和联系?

javascript、JSP、JS有什么区别和联系?

java开发
2浏览
作为一个java程序员经常上的网站?

作为一个java程序员经常上的网站?

java开发
3浏览
Javaweb技术中Java和JSP有什么关系?

Javaweb技术中Java和JSP有什么关系?

java开发
2浏览
java软件开发可以用哪些软件?

java软件开发可以用哪些软件?

java开发
3浏览
PHP和Java相比哪个更好?为什么?

PHP和Java相比哪个更好?为什么?

java开发
2浏览
怎么看JAVA开源项目的源码?

怎么看JAVA开源项目的源码?

java开发
6浏览
JAVA大家都用什么开发环境?

JAVA大家都用什么开发环境?

java开发
5浏览
java编程怎么设置窗口按钮的大小?

java编程怎么设置窗口按钮的大小?

java开发
3浏览
JAVA前端和后端怎么去选择?

JAVA前端和后端怎么去选择?

java开发
2浏览
java软件开发可以用哪些软件?

java软件开发可以用哪些软件?

java开发
6浏览
现在JAVA和前端哪个需求量大一点?

现在JAVA和前端哪个需求量大一点?

java开发
2浏览
WEB前端和JAVA哪个需求量大?

WEB前端和JAVA哪个需求量大?

java开发
2浏览
Java程序猿与网络安全哪个行业前景更好?

Java程序猿与网络安全哪个行业前景更好?

java开发
3浏览
web编程用JavaScript怎么样?

web编程用JavaScript怎么样?

java开发
3浏览
web开发JAVA,GO,PHP,Python哪种语言好?

web开发JAVA,GO,PHP,Python哪种语言好?

java开发
4浏览
点赞
收藏
分享