[英]Why is Java RMI with multiple threads on client faster even though server is single-threaded?
[英]When I run a single-threaded Java program why are there are multiple threads at the OS level?
我运行一个非常简单的单线程java程序。 当我在Ubuntu下使用命令检查线程时
ps -eLf
它显示OS级别有14个线程。 我希望程序有一个线程时只有一个线程,如果程序有x个线程,则只有x个线程。 我的期望是错的吗?
JVM有自己的线程,例如垃圾收集器。 尝试在它上面执行kill -3 <pid>
,它会显示所有线程。
JVM有多个线程在运行。 这就是你看到这么多线程的原因。
我相信Java虚拟机在启动时总会打开多个操作系统线程,这就是为什么你看到你所看到的。 另外,我不确定Java Thread类是否使用本机线程。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.