java中的线程和操作系统中的线程一样吗,多线程是多个线程同时运行还是一个时间点运行一个线程?

2024-12-18 23:00:51
推荐回答(2个)
回答1:

java中的线程跟操作系统的是不一样的,因为java使用了虚拟机。一个CPU一个时刻只能运行一个线程。多CPU的话,也许能让多个线程在各个CPU上同时跑,这要看线程能不能同时运行,有没有抢占资源之类的。

回答2:

从规范来说,线程就是java线程,你不需要直到是不是和操作系统的线程一样,你也不应该知道,因为有些系统上是模拟的,有些是直接使用操作系统的。

从实现来说,目前在多数系统上是一样的。

宏观来看是同一时间多个线程在运行,围观到cpu时间,那就是一个cpu时间内,只有一个线程在运行。