java中多线程地并发运行是什么意思?有什么作用.好处?

 我来答
xQ_27
2015-10-21 · 知道合伙人软件行家
xQ_27
知道合伙人软件行家
采纳数:69 获赞数:289
毕业于青岛理工大学。

向TA提问 私信TA
展开全部
如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。因此我们可以用多线程处理并发运行,提高资源利用率;
举例
 假如有一个工厂,工厂里面有10个工人,每个工人同时只能做一件任务。
  因此只要当10个工人中有工人是空闲的,来了任务就分配给空闲的工人做;
  当10个工人都有任务在做时,如果还来了任务,就把任务进行排队等待;
  如果说新任务数目增长的速度远远大于工人做任务的速度,那么此时工厂主管可能会想补救措施,比如重新招4个临时工人进来;
  然后就将任务也分配给这4个临时工人做;
  如果说着14个工人做任务的速度还是不够,此时工厂主管可能就要考虑不再接收新的任务或者抛弃前面的一些任务了。
  当这14个工人当中有人空闲时,而新任务增长的速度又比较缓慢,工厂主管可能就考虑辞掉4个临时工了,只保持原来的10个工人,毕竟请额外的工人是要花钱的。
yaoyue1019
推荐于2017-10-08 · 知道合伙人互联网行家
yaoyue1019
知道合伙人互联网行家
采纳数:804 获赞数:3392
擅长lua脚本 与android前端交互设计

向TA提问 私信TA
展开全部
在早期单核架构的系统中 多线程并发可能并不会比协同之类的有更高的执行效率,但在现代多核时代 多线程可以让程序更好的应用计算机多核的能力,可以把一部分的计算量分担到其他cpu上,减少主cpu的计算量从而达到减少运算时间
好处的话 简单来说就是快
但是坏处也带来不少 多线程运算 需要注意线程间的调度和协作 需要处理好多线程共享的变量,需要处理好变量锁 有的时候没处理好甚至可能导致死锁或者其他问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wsw_15
推荐于2017-10-07 · TA获得超过918个赞
知道小有建树答主
回答量:747
采纳率:62%
帮助的人:366万
展开全部
多线程的并发运行就相当一边干这一边干那,可以同时处理2个行为逻辑。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小摩2004i
2011-09-17 · 超过19用户采纳过TA的回答
知道答主
回答量:76
采纳率:0%
帮助的人:61.6万
展开全部
主要是为了提高CPU利用和吞吐量(throughput)。
从性能的角度看,假设只有一个CPU core,一个任务需要100ms,处理耗时10ms,文件读写、网络或数据库等待90ms,如果单线程则每秒只能处理10个任务(tps=10),从CPU能力看,每秒能处理100(1000/10)个任务,这时候,你起10个线程并发处理,就能达到100 tps (CPU占用100%)。
如果是纯粹计算,自己想想会是什么结果。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式