java中的多线程在什么情况下使用

java中的多线程在需要进行并发处理时使用,例如服务器需要同时接受多个客户端连接,且有无需实时等待的服务处理。比方说我们系统中短信发送任务,上万条信息的发送我们不必等待,只需第二天查看发送结果即可。

java中的多线程在什么情况下使用-Worktile社区

具体的使用情况可以分为如下几类:

1、程序包含复杂的计算任务时

主要是利用多线程获取更多的CPU时间(资源)。

方法一,把一个任务分解为多个可以子任务。

因为总有些子任务是可以并发的,多个子任务并发执行了很可能避免CPU需要IO操作的完成,而且能够提高系统的吞吐量。

方法二,缓存多线程的共享数据。

当你已经在使用多线程,很多时候必须使用共享数据。如果,数据是只读的,那么可以在名列前茅次获取后保存起来,以后就可以重复使用了。但是,名列前茅次的获取还是无法避免的需要线程同步操作的。

方法三,如果线程数目有限,就不要共享数据。

做法是为每一个线程实例化一个单独的数据,其实就是为每一个线程分配一块数据使用。这样没有线程同步操作了,速度可以尽可能的提示。

方法四,如果没办法确定线程数目到底有多少,那么使用部分共享吧。

部分共享其实就是使用多个资源池代替一个资源池,资源池的数目得更加经验来确定。

2、处理速度较慢的外围设备

比如连接多台打印机,再比如网络程序,涉及数据包的收发,时间因素不定。使用独立的线程处理这些任务,可使程序无需专门等待结果。

3、程序设计自身的需要

操作系统是基于消息循环的抢占式多任务系统,为使消息循环系统不至于阻塞,程序需要多个线程的来共同完成某些任务。

作者:潜龙勿用 链接:https://www.zhihu.com/question/65200684/answer/230905601 来源:知乎

延伸阅读

java多线程是什么

Java多线程是指一个进程在执行过程中可以产生多个更小的程序单元,这些更小的单元称为线程,这些线程可以同时存在,同时运行,一个进程可能包含多个同时执行的线程。多线程是实现并发机制的一种有效手段。在 Java中实现多线程有两种手段,一种是继承Thread类,另一种就是实现Runnable接口。  

文章包含AI辅助创作:java中的多线程在什么情况下使用,发布者:小编,转载请注明出处:https://worktile.com/kb/p/37613

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编的头像小编

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部