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

CPU的线程与java中的线程运行有关吗,比如双核4线程的CPU?
2024-12-16 00:03:45
推荐回答(2个)
回答1:

多CPU当然是真多线程。就是CPU可能同时在执行4个线程。
但是不是多核也没关系。因为线程的执行往往会挂起,等待IO之类。这时候CPU会转到别的线程来执行。这是分时系统的一大特征。当然人是感觉不到的。
用多线程,比如你的处理分为两大部分,一部分产生数据,一部分显示数据,产生数据比较耗时。(生产者消费者模型)。这个时候用多线程,一个来产生数据,一个来显示数据。对于界面来说就不会在处理产生数据的时候产生假死的现象。
希望能帮到你。

回答2:

一个处理器(cpu)在某一个时间点上永远都只能是一个线程!双核cpu你可以理解为两块cpu,4核、8核等以此类推,就单个cpu而言某个时间点只能是一个线程在运行, 所谓的多线程是通过调度获取cpu的时间片实现的 其实就相当于 cpu是一个人 多线程是几件事 cpu一下子干这件事 干一会儿时间片到了就干另一件 由于cpu计算速度很快很快 所以看起来就像几件事情在同时做着 不过现在cpu都是双核四核八核的 这些是真的一起干的 因为这是几个人干几件事 肯定是一起做的啦
不晓得这样比喻你可以理解不 这样不能理解我也么有办法啦