比方說,我有Java應用程序產生並啓動N個線程。我在4核心的Linux或Windows機器上運行它。我會假設,如果我的應用程序創建了一堆線程,那麼在任何時候它們中的4個(或者更多,如果內核使用超線程?)正在同時執行。檢查並控制實際並行運行的應用程序的線程數
- 有沒有辦法檢查/驗證它?我知道在Java中你可以打印
Runtime.getRuntime().getAvailableProcesses()
,但是這個數字是否意味着我的線程數量可以並行運行?我應該看看一些操作系統設置嗎? - 是否有可能,並行性會受OS或JVM設置的限制? (比如說即使你可以一次運行X任務,你的應用程序將被限制爲只有X/2)。