当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。