本文整理了Java中java.lang.management.ThreadMXBean.findMonitorDeadlockedThreads()
方法的一些代码示例,展示了ThreadMXBean.findMonitorDeadlockedThreads()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ThreadMXBean.findMonitorDeadlockedThreads()
方法的具体详情如下:
包路径:java.lang.management.ThreadMXBean
类名称:ThreadMXBean
方法名:findMonitorDeadlockedThreads
暂无
代码示例来源:origin: org.scala-lang/scala-compiler
@Override
public long[] findMonitorDeadlockedThreads() {
return underlying.findMonitorDeadlockedThreads();
}
代码示例来源:origin: javamelody/javamelody
private static long[] getDeadlockedThreads(ThreadMXBean threadBean) {
final long[] deadlockedThreads;
if (threadBean.isSynchronizerUsageSupported()) {
deadlockedThreads = threadBean.findDeadlockedThreads();
} else {
deadlockedThreads = threadBean.findMonitorDeadlockedThreads();
}
if (deadlockedThreads != null) {
Arrays.sort(deadlockedThreads);
}
return deadlockedThreads;
}
代码示例来源:origin: apache/pulsar
static String buildDeadlockInfo() {
ThreadMXBean threadBean = ManagementFactory.getThreadMXBean();
long[] threadIds = threadBean.findMonitorDeadlockedThreads();
if (threadIds != null && threadIds.length > 0) {
StringWriter stringWriter = new StringWriter();
PrintWriter out = new PrintWriter(stringWriter);
ThreadInfo[] infos = threadBean.getThreadInfo(threadIds, true, true);
for (ThreadInfo ti : infos) {
printThreadInfo(ti, out);
printLockInfo(ti.getLockedSynchronizers(), out);
out.println();
}
out.close();
return stringWriter.toString();
} else {
return null;
}
}
代码示例来源:origin: wildfly/wildfly
public static String dumpThreads() {
StringBuilder sb=new StringBuilder();
ThreadMXBean bean=ManagementFactory.getThreadMXBean();
long[] ids=bean.getAllThreadIds();
_printThreads(bean,ids,sb);
long[] deadlocks=bean.findDeadlockedThreads();
if(deadlocks != null && deadlocks.length > 0) {
sb.append("deadlocked threads:\n");
_printThreads(bean,deadlocks,sb);
}
deadlocks=bean.findMonitorDeadlockedThreads();
if(deadlocks != null && deadlocks.length > 0) {
sb.append("monitor deadlocked threads:\n");
_printThreads(bean,deadlocks,sb);
}
return sb.toString();
}
代码示例来源:origin: apache/nifi
@Override
public synchronized List<ActiveThreadInfo> getActiveThreads() {
final long now = System.currentTimeMillis();
final ThreadMXBean mbean = ManagementFactory.getThreadMXBean();
final ThreadInfo[] infos = mbean.dumpAllThreads(true, true);
final long[] deadlockedThreadIds = mbean.findDeadlockedThreads();
final long[] monitorDeadlockThreadIds = mbean.findMonitorDeadlockedThreads();
final Map<Long, ThreadInfo> threadInfoMap = Stream.of(infos)
.collect(Collectors.toMap(info -> info.getThreadId(), Function.identity(), (a, b) -> a));
final List<ActiveThreadInfo> threadList = new ArrayList<>(activeThreads.size());
for (final Map.Entry<Thread, ActiveTask> entry : activeThreads.entrySet()) {
final Thread thread = entry.getKey();
final ActiveTask activeTask = entry.getValue();
final Long timestamp = activeTask.getStartTime();
final long activeMillis = now - timestamp;
final ThreadInfo threadInfo = threadInfoMap.get(thread.getId());
final String stackTrace = ThreadUtils.createStackTrace(thread, threadInfo, deadlockedThreadIds, monitorDeadlockThreadIds, activeMillis);
final ActiveThreadInfo activeThreadInfo = new ActiveThreadInfo(thread.getName(), stackTrace, activeMillis, activeTask.isTerminated());
threadList.add(activeThreadInfo);
}
return threadList;
}
代码示例来源:origin: alibaba/jstorm
long[] deadLockMonitorTids = threadMXBean.findMonitorDeadlockedThreads();
if (deadLockMonitorTids != null) {
writer.append(threadIds.length + " deadlocked monitor threads:");
代码示例来源:origin: patric-r/jvmtop
public long[] findDeadlockedThreads() throws IOException {
ThreadMXBean tm = getThreadMXBean();
if (supportsLockUsage && tm.isSynchronizerUsageSupported()) {
return tm.findDeadlockedThreads();
} else {
return tm.findMonitorDeadlockedThreads();
}
}
代码示例来源:origin: apache/nifi
final long[] monitorDeadlockThreadIds = mbean.findMonitorDeadlockedThreads();
代码示例来源:origin: linkedin/parseq
private void findDeadlock(StringBuilder out) {
long[] tids;
if (findDeadlocksMethodName.equals("findDeadlockedThreads") && tmbean.isSynchronizerUsageSupported()) {
tids = tmbean.findDeadlockedThreads();
if (tids == null) {
return;
}
out.append("Deadlock found:\n");
ThreadInfo[] infos = tmbean.getThreadInfo(tids, true, true);
for (ThreadInfo ti : infos) {
dumpThreadInfo(ti, out);
dumpLockInfo(ti.getLockedSynchronizers(), out);
out.append("\n");
}
} else {
tids = tmbean.findMonitorDeadlockedThreads();
if (tids == null) {
return;
}
ThreadInfo[] infos = tmbean.getThreadInfo(tids, Integer.MAX_VALUE);
for (ThreadInfo ti : infos) {
// dump thread information
dumpThreadInfo(ti, out);
}
}
}
代码示例来源:origin: apache/hbase
static String buildDeadlockInfo() {
ThreadMXBean threadBean = ManagementFactory.getThreadMXBean();
long[] threadIds = threadBean.findMonitorDeadlockedThreads();
if (threadIds != null && threadIds.length > 0) {
StringWriter stringWriter = new StringWriter();
PrintWriter out = new PrintWriter(stringWriter);
ThreadInfo[] infos = threadBean.getThreadInfo(threadIds, true, true);
for (ThreadInfo ti : infos) {
printThreadInfo(ti, out);
printLockInfo(ti.getLockedSynchronizers(), out);
out.println();
}
out.close();
return stringWriter.toString();
} else {
return null;
}
}
代码示例来源:origin: patric-r/jvmtop
|| threadMXBean.findMonitorDeadlockedThreads() != null;
代码示例来源:origin: org.elasticsearch/elasticsearch
public Deadlock[] findDeadlocks() {
long deadlockedThreads[] = threadBean.findMonitorDeadlockedThreads();
if (deadlockedThreads == null || deadlockedThreads.length == 0) {
return NULL_RESULT;
}
Map<Long, ThreadInfo> threadInfoMap = createThreadInfoMap(deadlockedThreads);
Set<LinkedHashSet<ThreadInfo>> cycles = calculateCycles(threadInfoMap);
Set<LinkedHashSet<ThreadInfo>> chains = calculateCycleDeadlockChains(threadInfoMap, cycles);
cycles.addAll(chains);
return createDeadlockDescriptions(cycles);
}
代码示例来源:origin: prometheus/client_java
"jvm_threads_deadlocked_monitor",
"Cycles of JVM-threads that are in deadlock waiting to acquire object monitors",
nullSafeArrayLength(threadBean.findMonitorDeadlockedThreads())));
代码示例来源:origin: org.nuxeo.runtime/nuxeo-runtime-management
public long[] detectThreadLock() {
long[] findMonitorDeadlockedThreads = mgmt.findMonitorDeadlockedThreads();
if (findMonitorDeadlockedThreads == null) {
return new long[0];
}
return findMonitorDeadlockedThreads;
}
代码示例来源:origin: apache/felix
protected long[] findDeadlockedThreads(ThreadMXBean threadMXBean)
{
return threadMXBean.findMonitorDeadlockedThreads();
}
代码示例来源:origin: org.rhq/rhq-jmx-plugin
private Double getDeadLockedThreadsCount(EmsBean bean) {
ThreadMXBean threadBean = bean.getProxy(ThreadMXBean.class);
long[] tids = threadBean.findMonitorDeadlockedThreads();
if (tids == null) {
return 0.0;
} else {
return new Double(tids.length);
}
}
代码示例来源:origin: com.google.code.tempus-fugit/tempus-fugit
private static List<ThreadInfo> findDeadlocks() {
long[] result;
if (mbean.isSynchronizerUsageSupported())
result = mbean.findDeadlockedThreads();
else
result = mbean.findMonitorDeadlockedThreads();
long[] monitorDeadlockedThreads = result;
if (monitorDeadlockedThreads == null)
return emptyList();
return asList(mbean.getThreadInfo(monitorDeadlockedThreads));
}
代码示例来源:origin: net.bull.javamelody/javamelody-core
private static long[] getDeadlockedThreads(ThreadMXBean threadBean) {
final long[] deadlockedThreads;
if (threadBean.isSynchronizerUsageSupported()) {
deadlockedThreads = threadBean.findDeadlockedThreads();
} else {
deadlockedThreads = threadBean.findMonitorDeadlockedThreads();
}
if (deadlockedThreads != null) {
Arrays.sort(deadlockedThreads);
}
return deadlockedThreads;
}
代码示例来源:origin: net.sf.patterntesting/patterntesting-concurrent
private long[] findDeadLockThreads() {
if (mbean.isSynchronizerUsageSupported()) {
return mbean.findDeadlockedThreads();
} else {
return mbean.findMonitorDeadlockedThreads();
}
}
代码示例来源:origin: apache/servicemix-bundles
public Deadlock[] findDeadlocks() {
long deadlockedThreads[] = threadBean.findMonitorDeadlockedThreads();
if (deadlockedThreads == null || deadlockedThreads.length == 0) {
return NULL_RESULT;
}
Map<Long, ThreadInfo> threadInfoMap = createThreadInfoMap(deadlockedThreads);
Set<LinkedHashSet<ThreadInfo>> cycles = calculateCycles(threadInfoMap);
Set<LinkedHashSet<ThreadInfo>> chains = calculateCycleDeadlockChains(threadInfoMap, cycles);
cycles.addAll(chains);
return createDeadlockDescriptions(cycles);
}
内容来源于网络,如有侵权,请联系作者删除!