在java中,多线程真的是多个线程同时运行吗??

CPU的线程与java中的线程运行有关吗,比如双核4线程的CPU?... CPU的线程与java中的线程运行有关吗,比如双核4线程的CPU? 展开
 我来答
peacexf
2012-11-01 · TA获得超过293个赞
知道小有建树答主
回答量:476
采纳率:100%
帮助的人:407万
展开全部
多CPU当然是真多线程。就是CPU可能同时在执行4个线程。
但是不是多核也没关系。因为线程的执行往往会挂起,等待IO之类。这时候CPU会转到别的线程来执行。这是分时系统的一大特征。当然人是感觉不到的。
用多线程,比如你的处理分为两大部分,一部分产生数据,一部分显示数据,产生数据比较耗时。(生产者消费者模型)。这个时候用多线程,一个来产生数据,一个来显示数据。对于界面来说就不会在处理产生数据的时候产生假死的现象。
希望能帮到你。
追问
那请问,在一个单线程的CPU和一个4线程的CPU上同时启动10个线程,这10个线程在这两个CPU上分别是怎么运行的???
追答
记住,同一时间,同一个核心,只可能有一个线程运行,其他处理挂起的状态。
情殇999
推荐于2017-10-04
知道答主
回答量:2
采纳率:0%
帮助的人:3万
展开全部
一个处理器(cpu)在某一个时间点上永远都只能是一个线程!双核cpu你可以理解为两块cpu,4核、8核等以此类推,就单个cpu而言某个时间点只能是一个线程在运行, 所谓的多线程是通过调度获取cpu的时间片实现的 其实就相当于 cpu是一个人 多线程是几件事 cpu一下子干这件事 干一会儿时间片到了就干另一件 由于cpu计算速度很快很快 所以看起来就像几件事情在同时做着 不过现在cpu都是双核四核八核的 这些是真的一起干的 因为这是几个人干几件事 肯定是一起做的啦
不晓得这样比喻你可以理解不 这样不能理解我也么有办法啦
追问
非常感谢,我完全理解;但intel的CPU支持超线程,比如双核4线程的CPU; 是不是实际可同时运行4个线程??
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式