美文网首页终端研发部
我们为何要使用多线程,它有什么优点?

我们为何要使用多线程,它有什么优点?

作者: 风间影月 | 来源:发表于2017-11-13 11:39 被阅读39次

其实在平时的开发中,很多程序员都不会去写线程,为啥?因为麻烦,其次是用到的地方并不多,除非逼不得已,大家都不会去写,毕竟写一天代码,拿一天工资,是吧?

麻烦归麻烦,但是多线程的优点不得不说:

  1. 资源利用率提升,程序处理效率提高

打个比方:我们做上传图片的时候,在上传成功后往往会进行图片的处理,原图保存后,会再生成一张小图以作为一些应用的预览图,那么原图的处理就需要程序去读取再处理,假设读取需要花费1秒,处理需要2秒,现在有3张大图,所需要耗费的时间就是(1+2)X3=9秒,根据图片的不同,那么单位时间会更多,总计时间就会更久。

那么如果把程序设计更好的话,那就是在读取文件的时候同时处理上一个文件,这样就可以尽可能的缩短时间,减少客户端的响应,同时也提升了CPU的使用率。

如果还不能理解的话那就再举个例子,我朋友公司是专为某银行处理数据同步的问题,每天凌晨银行那边会有几十万条数据发送过来进行处理,项目本身就是个坑,几百万条数据接收后直接去处理了,每次运行大多都要耗费2.5个小时,时间实在太久,如果哪天有几亿数据是不是要跑几十个小时了?那么就可以用多线程,切割这个数据,利用不同的线程来处理,最后把时间缩短到了半小时左右

  1. 代码会相对简单

如果利用单线程去处理文件,那么我们就得标记每次处理的各个节点的状态;而如果使用多线程的话处理完一个扔一个,可以简便不少

  1. 软件运行速度提升

就像之前所说的魔兽争霸那样,如果采矿伐木打猎都是由一个农民工来做的话,那他会累死,而如果分配3个农民工来做的话,那么时间大大缩短;同理,软件程序在处理文件的时候也是一个道理。

也就是说,往常我们监听的是用户请求,现在我们把用户请求塞给线程,我们去监听线程就可以了。

举一个不恰当的例子,我们在用eclipse的时候经常会出现这样的情况,一个progress被另一个卡住,下一个必须等待上一个执行完毕后再执行,完毕后我们方可编写代码,这种情况尤其出现在maven编译或者下载jar包的时候。

假如说,eclipse是同时进行任务处理的,那么每个任务处理完后响应一个状态,然后再提示给用户,可以弹出显示,或者在底部状态来加个有颜色的提醒,都可以。(如果理解成消息队列的处理方式也可以,在云计算业务中利用消息队列处理各种服务器请求也是类似道理)

那么,这样的程序设计对于软件自身来说响应速度就更快了,用户的体验也就更高了~

尚自习 | 程序员的进阶平台 itzixi.com

微信公众号:BeJavaGod

Java技术交流群

相关文章

  • 我们为何要使用多线程,它有什么优点?

    其实在平时的开发中,很多程序员都不会去写线程,为啥?因为麻烦,其次是用到的地方并不多,除非逼不得已,大家都不会去写...

  • 线程3:多线程优点、分类及状态--java38(03/28/20

    使用多线程的优点 背景:只使用单个线程完成多个任务(调用多个方法),肯定比用多个线程来完成用的时间更短,为何仍需多...

  • spark broadcast

    为什么需要broadcast类型变量 ,它有哪些优点? spark中怎样创建和使用broadcast类型变量 ? ...

  • SDWebImage的使用

    为什么要使用SDWebImage 它有如下优点 UIImageView Button MapView大头钉 的Ca...

  • Android多线程下载

    背景 万事都有两面性,多线程下载也是,那么多线程下载的优点是什么呢?归根结底还是多线程的优点,这里我们暂且不去讨论...

  • 五、Java高级特性(多线程基础使用篇)

    一、使用多线程有什么优点? 使用多线程可以最大限度的利用cpu的空闲时间来处理其他任务,比如一边让操作系统处理正在...

  • Flutter简介

    为什么我们要选择flutter语言呢?它有哪些优点呢? *1.flutter将会帮你更容易,更快速的开发出界面美观...

  • 线程、进程

    线程、进程 1.iOS中的多线程操作、多线程方式? 2.多线程的优点和缺点分别是什么? 答:优点:1、将耗时较长的...

  • Python多线程

    Python 多线程 多线程类似于同时执行多个不同程序,多线程运行有如下优点: 使用线程可以把占据长时间的程序...

  • 关于多线程你应该需要知道的事-1

    为什么要使用多线程 既然所有的多线程代码都可以用单线程来实现,为何还要多线程? 提高CPU的利用率,提升程序处理能...

网友评论

    本文标题:我们为何要使用多线程,它有什么优点?

    本文链接:https://www.haomeiwen.com/subject/wroamxtx.html