java Appuim环境搭建 VR全景图片 Scala springcloud nginx反向代理 希腊字母 windows keras highcharts Draggabilly Font Awesome vue例子 安卓项目实战 pmp视频 jq选择子元素 maven配置eclipse 爬虫数据清洗 dwf文件怎么转成dwg docker启动容器 二分查找python python环境设置 python基础教程 python循环语句 python模块大全 java时间 搭建java开发环境 java如何配置环境变量 java时间类型 java遍历list集合 java命令 java获取url参数 sp5 qtp下载 销售单软件 hexworkshop php购物车 按键精灵脚本教程 tar解压 2700U
当前位置: 首页 > 学习教程  > 编程学习

JAVA项目中哪些场景需要用到多线程

2021/1/9 1:51:36 文章标签: 多线程的应用场景

场景一:一个业务逻辑有很多次的循环,每次循环之间没有影响,比如验证1万条url路径是否存在,正常情况要循环1万次,逐个去验证每一条URL,这样效率会很低,假设验证一条需要1分钟,总共就需要1万分钟&…

场景一:一个业务逻辑有很多次的循环,每次循环之间没有影响,比如验证1万条url路径是否存在,正常情况要循环1万次,逐个去验证每一条URL,这样效率会很低,假设验证一条需要1分钟,总共就需要1万分钟,有点恐怖。这时可以用多线程,将1万条URL分成50等份,开50个线程,没个线程只需验证200条,这样所有的线程执行完是远小于1万分钟的。

场景二:需要知道一个任务的执行进度,比如我们常看到的进度条,实现方式可以是在任务中加入一个整型属性变量(这样不同方法可以共享),任务执行一定程度就给变量值加1,另外开一个线程按时间间隔不断去访问这个变量,并反馈给用户。
总之使用多线程就是为了充分利用cpu的资源,提高程序执行效率,当你发现一个业务逻辑执行效率特别低,耗时特别长,就可以考虑使用多线程。不过CPU执行哪个线程的时间和顺序是不确定的,即使设置了线程的优先级,因此使用多线程的风险也是比较大的,会出现很多预料不到的问题,一定要多熟悉概念,多构造不同的场景去测试才能够掌握!


本文链接: http://www.dtmao.cc/news_show_1100014.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?