31、为什么要使用多线程?

上几期讲了行程的五张状态,同步工具类,线程池等知识点?但是这些知识点在什么场景下使用呢?

使用多线程的场景:

   场景一、定时向大量的用户发送邮件。所有的定时任务都是多线程的实现。

   场景二、用户注册时候需要短信或则邮件验证。短信和邮件接口比较耗时,前端UI感觉被卡住,这时候

一个异步线程去发送邮件或则短信。用户体验会更好。

  场景三、你要写一个电商网站,怎么实现双11抢购模型。

   场景四、从kafka,rabiitMq队列中取出数据处理,kafka队列中数据越来越多,线程显然处理不过来,多个线程试试,抢占cpu的频率更多。如果是多核cpu处理效率更高。  

多线程的好处:

好处1、程序响应更快,使用线程可以把占据时间长的程序中的任务放到后台去处理。再比如垃圾回收线程作为后台服务。

好处2、用户界面更加吸引人,比如文件拷贝功能,可以使用一个线程统计下拷贝进度,可以弹出一个进度条来显示处理的进度

好处3、程序的运行效率可能会提高,充分利用CPU资源,比如多个线程从队列读取数据处理。

好处4、满足现实生活的很多场景,比如电商抢购。

多线程的缺点:

缺点1、如果有大量的线程,会影响性能,因为操作系统需要在它们之间切换.

缺点2、更多的线程需要更多的内存空间,我们知道每个线程都要创建一个栈。

缺点3、线程中止需要考虑对程序运行的影响,如果有个定时清理数据的线程挂了,会不会造成数据积压。

缺点4、通常 块模型 数据是在多个线程间共享的,需要防止线程死锁情况的发生。

好本期到此结束,有问题欢迎在下方留言,如果觉得有用的话记得点击上方的心形收藏。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值