在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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。