本文整理匯總了Java中java.lang.management.ThreadMXBean.getThreadCount方法的典型用法代碼示例。如果您正苦於以下問題:Java ThreadMXBean.getThreadCount方法的具體用法?Java ThreadMXBean.getThreadCount怎麽用?Java ThreadMXBean.getThreadCount使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類java.lang.management.ThreadMXBean
的用法示例。
在下文中一共展示了ThreadMXBean.getThreadCount方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: call
import java.lang.management.ThreadMXBean; //導入方法依賴的package包/類
@Override
public String call() {
Map<String, String> memoryMap = new HashMap<>();
OperatingSystemMXBean osMxBean = ManagementFactory.getOperatingSystemMXBean();
double cpu = osMxBean.getSystemLoadAverage();
memoryMap.put("cpuLoad", String.format(doubleStringFormatter, round(cpu, doubleRoundPlaces)));
ThreadMXBean threadmxBean = ManagementFactory.getThreadMXBean();
int threadCount = threadmxBean.getThreadCount();
memoryMap.put("cpuRunningThreads", String.valueOf(threadCount));
MemoryMXBean memBean = ManagementFactory.getMemoryMXBean();
MemoryUsage memHeapUsage = memBean.getHeapMemoryUsage();
MemoryUsage nonHeapUsage = memBean.getNonHeapMemoryUsage();
memoryMap.put("heapInit", String.valueOf(memHeapUsage.getInit()));
memoryMap.put("heapMax", String.valueOf(memHeapUsage.getMax()));
memoryMap.put("heapCommit", String.valueOf(memHeapUsage.getCommitted()));
memoryMap.put("heapUsed", String.valueOf(memHeapUsage.getUsed()));
memoryMap.put("nonHeapInit", String.valueOf(nonHeapUsage.getInit()));
memoryMap.put("nonHeapMax", String.valueOf(nonHeapUsage.getMax()));
memoryMap.put("nonHeapCommit", String.valueOf(nonHeapUsage.getCommitted()));
memoryMap.put("nonHeapUsed", String.valueOf(nonHeapUsage.getUsed()));
return memoryMap.toString();
}
示例2: sense
import java.lang.management.ThreadMXBean; //導入方法依賴的package包/類
@Override
public void sense(final MetricRecorder.Context metricContext)
{
ThreadMXBean mxBean = ManagementFactory.getThreadMXBean();
int current = mxBean.getThreadCount();
int peak = mxBean.getPeakThreadCount();
if (peak > historicalPeak) {
historicalPeak = peak;
}
metricContext.record(THREADS, current, Unit.NONE);
metricContext.record(PERIODIC_PEAK_THREADS, peak, Unit.NONE);
metricContext.record(PEAK_THREADS, historicalPeak, Unit.NONE);
mxBean.resetPeakThreadCount();
}
示例3: getAllThreads
import java.lang.management.ThreadMXBean; //導入方法依賴的package包/類
/**
* @return a list of all threads started in the JVM.
*/
public List<Thread> getAllThreads() {
final ThreadGroup root = getRootThreadGroup();
final ThreadMXBean thbean = ManagementFactory.getThreadMXBean();
// get the number of all live threads
int nAlloc = thbean.getThreadCount();
int n = 0;
Thread[] threads;
do {
nAlloc *= 2; // increase the size since more threads may have been created
threads = new Thread[nAlloc];
n = root.enumerate(threads, true); // get all active threads from this thread group
} while (n == nAlloc); // stop if all active threads are enumerated
List<Thread> res = new ArrayList<Thread>();
for (Thread th : threads) {
res.add(th);
}
return res;
}
示例4: next
import java.lang.management.ThreadMXBean; //導入方法依賴的package包/類
@Override
public Object next() {
if (!beforeFirst) {
throw new IllegalStateException();
}
beforeFirst = false;
final ThreadsInfo threadsInfo = new ThreadsInfo();
final DrillbitEndpoint endpoint = context.getIdentity();
threadsInfo.hostname = endpoint.getAddress();
threadsInfo.user_port = endpoint.getUserPort();
final ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
threadsInfo.total_threads = threadMXBean.getPeakThreadCount();
threadsInfo.busy_threads = threadMXBean.getThreadCount();
return threadsInfo;
}
示例5: main
import java.lang.management.ThreadMXBean; //導入方法依賴的package包/類
public static void main(String args[]) {
// get top-level thread group
ThreadGroup top = Thread.currentThread().getThreadGroup();
ThreadGroup parent;
do {
parent = top.getParent();
if (parent != null) top = parent;
} while (parent != null);
// get the thread count
int activeCount = top.activeCount();
Map<Thread, StackTraceElement[]> stackTraces = Thread.getAllStackTraces();
ThreadMXBean threadBean = ManagementFactory.getThreadMXBean();
int threadCount = threadBean.getThreadCount();
long[] threadIds = threadBean.getAllThreadIds();
System.out.println("ThreadGroup: " + activeCount + " active thread(s)");
System.out.println("Thread: " + stackTraces.size() + " stack trace(s) returned");
System.out.println("ThreadMXBean: " + threadCount + " live threads(s)");
System.out.println("ThreadMXBean: " + threadIds.length + " thread Id(s)");
// check results are consistent
boolean failed = false;
if (activeCount != stackTraces.size()) failed = true;
if (activeCount != threadCount) failed = true;
if (activeCount != threadIds.length) failed = true;
if (failed) {
throw new RuntimeException("inconsistent results");
}
}
示例6: main
import java.lang.management.ThreadMXBean; //導入方法依賴的package包/類
public static void main(String args[]) {
// Bug id : JDK-8151797
// Use a lambda expression so that call-site cleaner thread is started
Runnable printLambda = () -> {System.out.println("Starting Test");};
printLambda.run();
// get top-level thread group
ThreadGroup top = Thread.currentThread().getThreadGroup();
ThreadGroup parent;
do {
parent = top.getParent();
if (parent != null) top = parent;
} while (parent != null);
// get the thread count
int activeCount = top.activeCount();
Map<Thread, StackTraceElement[]> stackTraces = Thread.getAllStackTraces();
ThreadMXBean threadBean = ManagementFactory.getThreadMXBean();
int threadCount = threadBean.getThreadCount();
long[] threadIds = threadBean.getAllThreadIds();
System.out.println("ThreadGroup: " + activeCount + " active thread(s)");
System.out.println("Thread: " + stackTraces.size() + " stack trace(s) returned");
System.out.println("ThreadMXBean: " + threadCount + " live threads(s)");
System.out.println("ThreadMXBean: " + threadIds.length + " thread Id(s)");
// check results are consistent
boolean failed = false;
if (activeCount != stackTraces.size()) failed = true;
if (activeCount != threadCount) failed = true;
if (activeCount != threadIds.length) failed = true;
if (failed) {
throw new RuntimeException("inconsistent results");
}
}
示例7: getThreadCount
import java.lang.management.ThreadMXBean; //導入方法依賴的package包/類
@Override
public int getThreadCount() {
ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
return threadMXBean.getThreadCount();
}