Java的线程在项目中一般会有什么具体的应用?

Java的线程机制是其本身所具有的,没有调用操作系统的。那么Java的这个特质有什么非常优越的地方吗》具体体现在什么地方?... Java的线程机制是其本身所具有的,没有调用操作系统的。那么Java的这个特质有什么非常优越的地方吗》具体体现在什么地方? 展开
 我来答
小傻

2015-11-17 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31134
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部
java线程在项目中的应用场景如下:

场景一:一个业务逻辑有很多次的循环,每次循环之间没有影响,比如验证1万条url路径是否存在,正常情况要循环1万次,逐个去验证每一条URL,这样效率会很低,假设验证一条需要1分钟,总共就需要1万分钟,有点恐怖。这时可以用多线程,将1万条URL分成50等份,开50个线程,没个线程只需验证200条,这样所有的线程执行完是远小于1万分钟的。
场景二:需要知道一个任务的执行进度,比如我们常看到的进度条,实现方式可以是在任务中加入一个整型属性变量(这样不同方法可以共享),任务执行一定程度就给变量值加1,另外开一个线程按时间间隔不断去访问这个变量,并反馈给用户。
总之使用多线程就是为了充分利用cpu的资源,提高程序执行效率,当你发现一个业务逻辑执行效率特别低,耗时特别长,就可以考虑使用多线程。不过CPU执行哪个线程的时间和顺序是不确定的,即使设置了线程的优先级,因此使用多线程的风险也是比较大的,会出现很多预料不到的问题,一定要多熟悉概念,多构造不同的场景去测试才能够掌握!
百度网友5ba75e4
2016-01-04 · TA获得超过2045个赞
知道大有可为答主
回答量:1775
采纳率:60%
帮助的人:980万
展开全部

首先对java的线程类Thread来进行说明:

  1. Thread是针对是java其本身所具有的,但并不能说其没有调用操作系统,其最底层的时间片调度是按照操作系统来执行的。

  2. Thread下可以创建Thread,2个Thread在一定条件下也可以相互调用。


根据以上特点可以总结认为java中的线程能让高级程序员更好的对庞大和复杂的数据流进行拆分,重组从而减低各个环节性能需求,通过增加各项负荷达到系统资源分配的最优值。


举个例子:一个程序需要需要一个2.0GHZ的CPU,占用10%的CPU使用1小时才能得出结果,最差方案就是用1小时。但有了线程使用多线程,在假设所有线程都可以并发执行的前提下我可以使用,10个线程让CPU利用率达到100%,这时我只要6分钟就可以有结果,虽然这些结果分散在10个不同的线程内,我可以再得到10个结果后对10个结果进行处理,得出最终结果,无论从时间维度还是CPU使用率维度,使用多线程是最优解。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liu013547
2015-12-08 · 超过18用户采纳过TA的回答
知道答主
回答量:123
采纳率:0%
帮助的人:55.7万
展开全部
线程是程序中的一个执行流,没有java程序都main函数开始的,有main的线程又称为主线程。除了主线程还可以有多个线程来同时(相对的)执行不同的任务。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
草莓爱香糖
2015-11-29 · TA获得超过772个赞
知道小有建树答主
回答量:765
采纳率:46%
帮助的人:230万
展开全部
线程主要的几个作用
第一个,当程序中有数据要处理,且该数据处理时间可能较长的情况下,如果不想响应的主线程的运行,则可新建子线程,并在其中操作数据;
第二个,操作的并行执行
第三个,自定义线程可作为定时器用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
架构师小秘圈
2011-08-12 · 超过12用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:34.1万
展开全部
线程一般用来控制项目的流程,线程之间通信,可以通过管道来传输数据!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式