700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 什么样的业务场景适合用多线程 – java – 前端

什么样的业务场景适合用多线程 – java – 前端

时间:2018-12-07 01:23:57

相关推荐

什么样的业务场景适合用多线程 – java – 前端

首先了解下什么是多线程吧!多线程就是“人海战术”,伴随着摩尔定律的失效(单核心的计算能力不能再成倍的增长,而改为横向扩展),CPU变为了多核心的模式,而每一个CPU在同一时间能处理一个线程,也就是说同一时间线程的执行数可以为CPU核心数(超线程不讨论)!效率为以前单核心的N倍!

JAVA这门编程语言,可谓是让多线程技术变得老生常谈,那么多线程使用在什么地方呢?

1,web服务器:web服务器的请求数往往是非常大的,而且自从有了HTTP1.1之后,TCP默认是长连接模式,一般像tomcat这样的服务器会开多个线程保持与客户端的连接,所以需要多线程!

2,异步调用:比如电商平台,在主线程处理完订单等主业务之后,需要发短信,邮件等非主要的业务代码,这个时候可以新起一个线程,异步调用,而主线程可以直接返回,避免长时间的等待!

3,上传下载大文件处理:比如迅雷,如果是单线程,那么同一时候,它就只能写一个下载任务的数据,但是多线程就可以同时进行更多任务!

4,分布式计算:比如1+2+…+100000,你可以分为十个任务,然后汇总即可,比单线程可以省大约9/10的时间!

还有更多场景可以适用于多线程环境,具体问题具体分析!

但是多线程其实绝对是魔鬼,从jdk中的并发包就可见端倪,不管是synchronize,lock,threadlocal,线程池,countbatchdown,forkjoin,future,callable,valatile哪一个多线程的关键字,都可以让大家JAVA编程人员生不如死!

只能说不到万不得已,不要盲目的使用多线程,比如redis就能靠着单线程一枝独秀,linux之父Linus Tonvard说过:忘掉那该死的并发吧!可见这个多线程多么的不可取,只是如果大家JAVA程序员如果不会多线程,应该就失业了吧!

反正不管多线程有多痛苦,以后偶还是会发多线程的技术分享的,敬请关注!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。