2011-11-11 19 views

回答

1

我懷疑是否有最大數量。那麼,因爲我們使用的是有限的內存,所以它可以容納的內存數量儘可能多,或者可以跟蹤的內容數量儘可能多。每個系統都不同,我知道Java和C沒有提供這個功能。 C#可以告訴你一個特定的對象/應用程序需要多少內存,以便您可以計算估計值。

你可以在你的系統上測試這個。編寫一個示例應用程序,它會產生線程並查看內存何時用完。使用計數器來計數它們。這會給你大致的系統範圍。

在Java中,您可以使用帶有線程池的ExecutorService ..根據您使用哪個執行器服務,如果提交更多作業,它可以保留產卵線程。 C#中存在類似的技術。

一個更好的問題是線程的最大數量產生並避免抖動是。

您是否試圖接管操作系統並執行您自己的進程/線程管理?你不應該這樣做。

+0

如果有人需要這麼多的線程,他們需要考慮使用ThreadPool或重新設計軟件。 –

相關問題