首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java线程:在Windows和Linux上

Java线程:在Windows和Linux上
EN

Stack Overflow用户
提问于 2012-04-07 20:32:13
回答 2查看 1.1K关注 0票数 0

我有聊天服务器应用程序,我们将部署在3台服务器上。聊天应用程序使用了大量的多线程。

基本上,我必须决定我应该为这3台服务器选择哪种操作系统。所以我想知道linux和windows是如何处理java线程的。有什么关系?谁创建了操作系统线程?他们分配了什么内存?

如果在未来的范围可伸缩性和集群中,哪个选项更好?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-07 20:48:25

linux和windows如何不同地处理java线程。

Java的美妙之处在于你并不真正关心它。他们只是在工作。但是,如果您真的很好奇,现代的JVM将线程处理委托给操作系统。所以这更多的是一个操作系统的问题,而不是Java。

有什么不同?

请参见上面的。Java在这里没有什么可做的。它是关于如何在主机操作系统中实现线程的。

是谁创建操作系统线程的?

JVM请求OS创建它们,并在Java Thread对象和本机线程之间提供了一个薄包装器。

他们分配了什么内存?

每个线程都有自己的堆栈(参见-Xss JVM选项)。另外,所有线程共享相同的堆空间。

票数 1
EN

Stack Overflow用户

发布于 2012-04-07 20:59:17

如果在未来的范围内可伸缩性和集群,哪个选项更好?

可伸缩性和集群很可能受到代码内部设计的影响,而不是JVM或底层操作系统。在不深入代码的情况下,关于这一点的每一条陈述都只是热闹的噪音,而不是深刻的陈述。

但Java的好处是:它可以在两个平台上运行,而不需要更改代码。因此,您能做的最好的事情就是:在相同的硬件上对两个OSes进行基准测试(但不要使用任何类型的虚拟化!)用最好的来达到你的目的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10054517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档