2010-07-13 40 views

回答

16

這是一個非常普遍的問題,所以我會給出一個普遍的答案。

Java從綠色線程切換到本機線程early in its development。這並不意味着在Windows和Linux上創建的線程會有不同的表現,因爲這兩個平臺都會在各自的JVM實現中使用本地線程。

每個操作系統都向Java公開的線程接口,同樣,通過pthread和Windows線程進行線程化的本地接口也非常相似。

在兩個平臺上線程的最大區別是Linux上的所有線程都是一種進程形式。 Windows對待線程和進程的方式截然不同。

根據我的個人經驗,Windows上的本機線程稍微輕量級,在單個進程應用程序中可能會稍微好一些。相應地(也許不相關),Windows進程與Linux相比是非常重量級的。

0

我已經在兩個操作系統中都使用過線程,並且java開發人員沒有任何區別。 :)

0

JVM全部隱藏操作系統差異,你...

如前面回答的Windows線程是大權重股並不是Linux的。

根據經驗,一個沉重的多線程應用程序可能會在自動內存垃圾回收器方面出現一些延遲,並且可能會產生巨大的內存峯值。

相關問題