看起来我已经搞砸了Java Threads/OS Threads和Interpreted语言.
在开始之前,我确实理解绿色线程是Java线程,其中线程由JVM处理,整个Java进程仅作为单个OS线程运行.因此在多处理器系统上它是无用的.
现在我的问题是.我有两个主题A和B.每个都有10万行独立代码.我在多处理器系统上的Java程序中运行这些线程.每个线程都将被赋予一个本机操作系统线程到RUN,它可以在不同的CPU上运行但是由于Java被解释,这些线程将需要一次又一次地与JVM交互以将字节代码转换为机器指令?我对吗 ?如果是,那么对于较小的程序,Java Threads不会是一个很大的优势吗?
一旦Hotspot编译这两个执行路径,它们都可以像原生线程一样好吗?我对吗 ?
[编辑]:另一个问题是,假设您有一个Java代码未编译的Java线程,您创建该Thread并启动()它?操作系统线程和JVM如何交互以运行该字节码?
谢谢