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