當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java Runtime availableProcessors()用法及代碼示例


在Java的Runtime類中,有一個方法availableProcess()。此方法本質上返回運行時機器上可用的處理器數量。它返回一個整數值,表示 Java 虛擬機 (JVM) 使用的處理器核心的數量。該值始終為 1 或大於 1,因為許多 modern-day 計算機至少有一個處理器核心。可用於熟悉係統的硬件函數。與大多數方法不同,此方法不需要任何參數。

方法語法:

Runtime.getRuntime().availableProcessors()

availableProcessors()方法示例

示例 1:

下麵是Java運行時availableProcessors()方法的實現:

Java


// Java Progra to implement 
// Java Runtime availableProcessors() Method 
import java.io.*; 
  
// Driver Class 
class GFG 
{ 
    // main function 
    public static void main(String[] args){ 
        
        //invoing method to get the value 
        int avpro = Runtime.getRuntime().availableProcessors(); 
          
        //Displaying the value stored in variable "avpro" 
        System.out.println("Available Processors : "+avpro); 
    } 
} 
輸出
Available Processors : 4


在此示例中,我們調用了availableProcessors()方法。從這個例子中,我們可以清楚地看到運行時機器中有 4 個處理器核心。它還表明當前正在工作的機器有一個quad-core處理器。

示例 2:

下麵是Java運行時availableProcessors()方法的實現:

Java


// Java Program demonstrate 
// Java Runtime availableProcessors() Method 
import java.io.*; 
  
// Driver Class 
class GFG { 
    // Creating the multithread function 
    public static void multithread(int avpro){ 
        int i; 
        for (i = 1; i <= avpro; i++) { 
            // Creating an object of thread class 
            Thread obj = new Thread(() -> { 
                // Displaying the name nad id of current 
                // thread 
                System.out.println( 
                    "Thread running with Id: "
                    + Thread.currentThread().getId() 
                    + " and Name: "
                    + Thread.currentThread().getName()); 
            }); 
  
            // starting the new thread 
            obj.start(); 
        } 
    } 
  
    // Main Function 
    public static void main(String[] args){ 
  
        // getting available current processors core 
        int avpro = Runtime.getRuntime().availableProcessors(); 
  
        // invoking the created multithread method 
        multithread(avpro); 
    } 
}
輸出
Thread running with Id: 13 and Name: Thread-2
Thread running with Id: 11 and Name: Thread-0
Thread running with Id: 14 and Name: Thread-3
Thread running with Id: 12 and Name: Thread-1


我們可以使用 Runtime.getRuntime().availableProcessors() 方法來獲取當前可用的處理器核心。這將有助於我們進行多處理。當我們的程序完成後,我們必須關閉線程池否則線程池線程會阻止程序終止。如果我們超出了可用處理器的範圍,它根本不會終止程序。

結論

Runtime java為我們提供了對運行時環境的訪問。它具有 availableProcessors() 方法,該方法返回一個整數值,表示運行時當前可用處理器核心的數量。該方法具有以下特點:

  • 它永遠不會返回 > 1 的值,因為許多現代計算機至少有一個處理器核心。
  • 對於不同的機器,它的值可能會有所不同,具體取決於運行時處理器核心的數量。

在本文中,我們通過合適且高效的示例了解了 availableProcessors() 方法的深入實現。我們試圖涵蓋有關該方法的所有要點。



相關用法


注:本文由純淨天空篩選整理自vishuvaishnav3001大神的英文原創作品 Java Runtime availableProcessors() Method with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。