Jon*_*nas 15 java linux windows multithreading
据我所知,Java正在使用操作系统线程(与Erlang相反),这意味着在Windows和Linux上使用Java创建的线程可能表现不同.
Windows和Linux上的Java线程有什么不同吗?最大的区别是什么?这可能只是性能上的差异?
Mat*_*ner 16
这是一个非常笼统的问题,所以我会给出一般答案.
Java 在开发早期就从绿色线程切换到本机线程.这并不意味着在Windows和Linux上创建的线程将表现不同,因为两个平台将在各自的JVM实现中使用本机线程.
每个操作系统向Java公开的线程接口,类似地,通过pthreads和Windows线程进行线程化的本机接口非常相似.
两个平台上线程的最大区别在于Linux上的所有线程都是一种进程.Windows以非常不同的方式处理线程和进程.
根据我的个人经验,Windows上的本机线程稍微更轻,并且在单个进程应用程序中可能表现稍好一些.相应地(也许是无关紧要的),与Linux同行相比,Windows进程是非常重量级的.