多线程应用场景(JAVA项目中哪些场景需要用到多线程,深感迷茫,请使用过的高手指点)
本文目录
JAVA项目中哪些场景需要用到多线程,深感迷茫,请使用过的高手指点
场景一:一个业务逻辑有很多次的循环,每次循环之间没有影响,比如验证1万条url路径是否存在,正常情况要循环1万次,逐个去验证每一条URL,这样效率会很低,假设验证一条需要1分钟,总共就需要1万分钟,有点恐怖。这时可以用多线程,将1万条URL分成50等份,开50个线程,没个线程只需验证200条,这样所有的线程执行完是远小于1万分钟的。场景二:需要知道一个任务的执行进度,比如我们常看到的进度条,实现方式可以是在任务中加入一个整型属性变量(这样不同方法可以共享),任务执行一定程度就给变量值加1,另外开一个线程按时间间隔不断去访问这个变量,并反馈给用户。总之使用多线程就是为了充分利用cpu的资源,提高程序执行效率,当你发现一个业务逻辑执行效率特别低,耗时特别长,就可以考虑使用多线程。不过CPU执行哪个线程的时间和顺序是不确定的,即使设置了线程的优先级,因此使用多线程的风险也是比较大的,会出现很多预料不到的问题,一定要多熟悉概念,多构造不同的场景去测试才能够掌握!
java多线程在互联网公司的应用场景是什么
提高任务执行的速度,很多时候是需要很大的一个数据量的任务,就算你把电脑的jvm跳到最高,内存cpu什么的都已经最快了,还是没有办法的时候,或者是有的任务一台机子撑不住的时候,就需要考虑把任务拆分成多个线程,同时运行,一般在互联网公司,并且是有大数据量处理的情况下才会有,一般的做外包项目的公司或者是企业建站之类的是用不上的
Swoole 多线程扩展适合哪些应用场景呢
场景一:一个业务逻辑有很多次的循环,每次循环之间没有影响,比如验证1万条url路径是否存在,正常情况要循环1万次,逐个去验证每一条URL,这样效率会很低,假设验证一条需要1分钟,总共就需要1万分钟,有点恐怖。这时可以用多线程,将1万条URL分成50等份,开50个线程,没个线程只需验证200条,这样所有的线程执行完是远小于1万分钟的。场景二:需要知道一个任务的执行进度,比如我们常看到的进度条,实现方式可以是在任务中加入一个整型属性变量(这样不同方法可以共享),任务执行一定程度就给变量值加1,另外开一个线程按时间间隔不断去访问这个变量,并反馈给用户。总之使用多线程就是为了充分利用cpu的资源,提高程序执行效率,当你发现一个业务逻辑执行效率特别低,耗时特别长,就可以考虑使用多线程。不过CPU执行哪个线程的时间和顺序是不确定的,即使设置了线程的优先级,因此使用多线程的风险也是比较大的,会出现很多预料不到的问题,一定要多熟悉概念,多构造不同的场景去测试才能够掌握!
更多文章:

unity3d中国官网(Unity 3D官网里个人版、加强版、专业版,但我只找到了个人版的下载链接,怎样下载专业版)
2025年3月13日 02:50

sorting out(将下面这句话中的“out”去掉后存在语法错误吗名词“sorting”也有“整理”的意思吧)
2025年2月16日 00:40

thinner造句(用heavier,longer,thinner,smaiier分别造句)
2025年3月16日 03:40

milkshake的读音(Kelis的《Milkshake》 歌词)
2025年3月19日 11:50

unitywebplayer安装了没有用(求助UnityWebPlayer安装了三次 用不了)
2025年3月24日 15:40

sublime text如何使用(如何优雅地使用 Sublime Text)
2025年3月3日 20:40

应用级灾备和数据级灾备之间有什么区别该如何选择?什么叫系统级灾备除了系统级灾备,灾备分为几种
2025年3月2日 23:50

免费制作h5页面的软件(比如易企秀、凡科这个两个都是免 费的h5工具吗哪个好用)
2025年2月27日 18:00

pdb格式用什么打开(sme pdb等格式的文件怎样打开编辑)
2025年2月20日 13:30

git通俗一点是干什么的(到底什么是ssh和git, 通俗的讲解下, 一定要通俗形象, 一下就明白, 不要扯太多专业术语,)
2025年3月2日 15:40