在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() 方法的深入实现。我们试图涵盖有关该方法的所有要点。
相关用法
- Java Runtime maxMemory()用法及代码示例
- Java Runtime gc()用法及代码示例
- Java Runtime getRuntime()用法及代码示例
- Java Runtime freeMemory()用法及代码示例
- Java Runtime halt()用法及代码示例
- Java Runtime load()用法及代码示例
- Java Runtime runFinalization()用法及代码示例
- Java Runtime exit()用法及代码示例
- Java Runnable用法及代码示例
- Java RuleBasedCollator clone()用法及代码示例
- Java RuleBasedCollator compare()用法及代码示例
- Java RuleBasedCollator equals()用法及代码示例
- Java RuleBasedCollator getCollationElementIterator(CharacterIterator)用法及代码示例
- Java RuleBasedCollator getCollationElementIterator(String)用法及代码示例
- Java RuleBasedCollator getCollationKey()用法及代码示例
- Java RuleBasedCollator getRules()用法及代码示例
- Java RuleBasedCollator hashCode()用法及代码示例
- Java Random doubles()用法及代码示例
- Java Random nextInt()用法及代码示例
- Java Reentrant getQueueLength()用法及代码示例
- Java ReentrantLock getHoldCount()用法及代码示例
- Java ReentrantLock getOwner()用法及代码示例
- Java ReentrantLock hasQueuedThread()用法及代码示例
- Java ReentrantLock hasQueuedThreads()用法及代码示例
- Java ReentrantLock isFair()用法及代码示例
注:本文由纯净天空筛选整理自vishuvaishnav3001大神的英文原创作品 Java Runtime availableProcessors() Method with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。