java中的线程跟操作系统的是不一样的,因为java使用了虚拟机。一个CPU一个时刻只能运行一个线程。多CPU的话,也许能让多个线程在各个CPU上同时跑,这要看线程能不能同时运行,有没有抢占资源之类的。
从规范来说,线程就是java线程,你不需要直到是不是和操作系统的线程一样,你也不应该知道,因为有些系统上是模拟的,有些是直接使用操作系统的。从实现来说,目前在多数系统上是一样的。宏观来看是同一时间多个线程在运行,围观到cpu时间,那就是一个cpu时间内,只有一个线程在运行。