java.lang.management.ThreadMXBean.isObjectMonitorUsageSupported()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(7.9k)|赞(0)|评价(0)|浏览(73)

本文整理了Java中java.lang.management.ThreadMXBean.isObjectMonitorUsageSupported()方法的一些代码示例,展示了ThreadMXBean.isObjectMonitorUsageSupported()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ThreadMXBean.isObjectMonitorUsageSupported()方法的具体详情如下:
包路径:java.lang.management.ThreadMXBean
类名称:ThreadMXBean
方法名:isObjectMonitorUsageSupported

ThreadMXBean.isObjectMonitorUsageSupported介绍

暂无

代码示例

代码示例来源:origin: org.scala-lang/scala-compiler

@Override
public boolean isObjectMonitorUsageSupported() {
  return underlying.isObjectMonitorUsageSupported();
}

代码示例来源:origin: jenkinsci/jenkins

public static ThreadInfo[] getThreadInfos() {
  ThreadMXBean mbean = ManagementFactory.getThreadMXBean();
  return mbean.dumpAllThreads(mbean.isObjectMonitorUsageSupported(),mbean.isSynchronizerUsageSupported());
}

代码示例来源:origin: scouter-project/scouter

private void print16Thread( List<String> list, ThreadMXBean threadMXBean, ThreadInfo thread )
  if ( threadMXBean.isObjectMonitorUsageSupported() ) {
    monitors = thread.getLockedMonitors();

代码示例来源:origin: scouter-project/scouter

private void print16Thread( List<String> list, ThreadMXBean threadMXBean, ThreadInfo thread )
  if ( threadMXBean.isObjectMonitorUsageSupported() ) {
    monitors = thread.getLockedMonitors();

代码示例来源:origin: scouter-project/scouter

private void print16Thread( List<String> list, ThreadMXBean threadMXBean, ThreadInfo thread )
  if ( threadMXBean.isObjectMonitorUsageSupported() ) {
    monitors = thread.getLockedMonitors();

代码示例来源:origin: scouter-project/scouter

private void print16Thread( List<String> list, ThreadMXBean threadMXBean, ThreadInfo thread )
  if ( threadMXBean.isObjectMonitorUsageSupported() ) {
    monitors = thread.getLockedMonitors();

代码示例来源:origin: scouter-project/scouter

private void print16Thread( List<String> list, ThreadMXBean threadMXBean, ThreadInfo thread )
  if ( threadMXBean.isObjectMonitorUsageSupported() ) {
    monitors = thread.getLockedMonitors();

代码示例来源:origin: linkedin/parseq

void threadDump(StringBuilder out) {
 if (canDumpLocks && tmbean.isObjectMonitorUsageSupported() && tmbean.isSynchronizerUsageSupported()) {
  dumpThreadInfoWithLocks(out);
 } else {
  dumpThreadInfo(out);
 }
}

代码示例来源:origin: ehcache/ehcache3

/**
 * Writes a complete thread dump to the designated {@code PrintStream}.
 *
 * @param out the {@code PrintStream} to which the thread dump is written
 */
public static void threadDump(final PrintStream out) {
 if (out == null) {
  throw new NullPointerException("out");
 }
 final ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
 final Calendar when = Calendar.getInstance();
 final ThreadInfo[] threadInfos = threadMXBean.dumpAllThreads(
   threadMXBean.isObjectMonitorUsageSupported(), threadMXBean.isSynchronizerUsageSupported());
 out.format("%nFull thread dump %1$tF %1$tT.%1$tL %1$tz%n", when);
 for (final ThreadInfo threadInfo : threadInfos) {
  out.print(format(threadInfo));
 }
}

代码示例来源:origin: apache/ignite

/**
 * Performs thread dump and prints all available info to the given log.
 *
 * @param log Logger.
 */
public static void dumpThreads(@Nullable IgniteLogger log) {
  ThreadMXBean mxBean = ManagementFactory.getThreadMXBean();
  final Set<Long> deadlockedThreadsIds = getDeadlockedThreadIds(mxBean);
  if (deadlockedThreadsIds.isEmpty())
    warn(log, "No deadlocked threads detected.");
  else
    warn(log, "Deadlocked threads detected (see thread dump below) " +
      "[deadlockedThreadsCnt=" + deadlockedThreadsIds.size() + ']');
  ThreadInfo[] threadInfos =
    mxBean.dumpAllThreads(mxBean.isObjectMonitorUsageSupported(), mxBean.isSynchronizerUsageSupported());
  GridStringBuilder sb = new GridStringBuilder("Thread dump at ")
    .a(new SimpleDateFormat("yyyy/MM/dd HH:mm:ss z").format(new Date(U.currentTimeMillis()))).a(NL);
  for (ThreadInfo info : threadInfos) {
    printThreadInfo(info, sb, deadlockedThreadsIds);
    sb.a(NL);
    if (info.getLockedSynchronizers() != null && info.getLockedSynchronizers().length > 0) {
      printSynchronizersInfo(info.getLockedSynchronizers(), sb);
      sb.a(NL);
    }
  }
  sb.a(NL);
  warn(log, sb.toString());
}

代码示例来源:origin: glowroot/glowroot

private void checkForDeadlockedActiveWeaving(List<Long> activeWeavingThreadIds) {
  ThreadMXBean threadBean = ManagementFactory.getThreadMXBean();
  long[] deadlockedThreadIds = threadBean.findDeadlockedThreads();
  if (deadlockedThreadIds == null || Collections.disjoint(Longs.asList(deadlockedThreadIds),
      activeWeavingThreadIds)) {
    return;
  }
  // need to disable weaving, otherwise getThreadInfo can trigger class loading and itself get
  // blocked by the deadlocked threads
  weavingDisabledForLoggingDeadlock = true;
  try {
    @Nullable
    ThreadInfo[] threadInfos = threadBean.getThreadInfo(deadlockedThreadIds,
        threadBean.isObjectMonitorUsageSupported(), false);
    StringBuilder sb = new StringBuilder();
    for (ThreadInfo threadInfo : threadInfos) {
      if (threadInfo != null) {
        sb.append('\n');
        appendThreadInfo(sb, threadInfo);
      }
    }
    logger.error("deadlock detected in class weaving, please report to the Glowroot"
        + " project:\n{}", sb);
    // no need to keep checking for (and logging) deadlocked active weaving
    throw new TerminateSubsequentExecutionsException();
  } finally {
    weavingDisabledForLoggingDeadlock = false;
  }
}

代码示例来源:origin: glowroot/glowroot

@Nullable
ThreadInfo[] threadInfos = threadBean.getThreadInfo(threadBean.getAllThreadIds(),
    threadBean.isObjectMonitorUsageSupported(), false);
long currentThreadId = Thread.currentThread().getId();
Map<Long, ThreadInfo> unmatchedThreadInfos = Maps.newHashMap();

代码示例来源:origin: org.dstadler/commons-dost

/**
 * Creates a Thread Dump of all Java Threads
 * @param  lockedMonitors if <tt>true</tt>, dump all locked monitors.
 * @param  lockedSynchronizers if <tt>true</tt>, dump all locked
 *             ownable synchronizers.
 */
public ThreadDump(boolean lockedMonitors, boolean lockedSynchronizers) {
  lockedMonitors &= bean.isObjectMonitorUsageSupported();
  lockedSynchronizers &= bean.isSynchronizerUsageSupported();
  infos = bean.dumpAllThreads(lockedMonitors, lockedSynchronizers);
}

代码示例来源:origin: org.jenkins-ci.main/jenkins-core

public static ThreadInfo[] getThreadInfos() {
  ThreadMXBean mbean = ManagementFactory.getThreadMXBean();
  return mbean.dumpAllThreads(mbean.isObjectMonitorUsageSupported(),mbean.isSynchronizerUsageSupported());
}

代码示例来源:origin: hazelcast/hazelcast-jet

public static ThreadInfo[] getAllThreads() {
  ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
  if (threadMXBean.isObjectMonitorUsageSupported()
      && threadMXBean.isSynchronizerUsageSupported()) {
    return threadMXBean.dumpAllThreads(true, true);
  }
  long[] allThreadIds = threadMXBean.getAllThreadIds();
  return getThreadInfos(threadMXBean, allThreadIds);
}

代码示例来源:origin: com.hazelcast/hazelcast-all

public static ThreadInfo[] getAllThreads() {
  ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
  if (threadMXBean.isObjectMonitorUsageSupported()
      && threadMXBean.isSynchronizerUsageSupported()) {
    return threadMXBean.dumpAllThreads(true, true);
  }
  long[] allThreadIds = threadMXBean.getAllThreadIds();
  return getThreadInfos(threadMXBean, allThreadIds);
}

代码示例来源:origin: org.jvnet.hudson.main/hudson-core

@IgnoreJRERequirement
public static ThreadInfo[] getThreadInfos() {
  ThreadMXBean mbean = ManagementFactory.getThreadMXBean();
  return mbean.dumpAllThreads(mbean.isObjectMonitorUsageSupported(),mbean.isSynchronizerUsageSupported());
}

代码示例来源:origin: hudson/hudson-2.x

@IgnoreJRERequirement
public static ThreadInfo[] getThreadInfos() {
  ThreadMXBean mbean = ManagementFactory.getThreadMXBean();
  return mbean.dumpAllThreads(mbean.isObjectMonitorUsageSupported(),mbean.isSynchronizerUsageSupported());
}

代码示例来源:origin: org.infinispan/infinispan-commons

public static String threadDump() {
 StringBuilder threadDump = new StringBuilder();
 ThreadMXBean threadMx = ManagementFactory.getThreadMXBean();
 if (threadMx.isObjectMonitorUsageSupported() && threadMx.isSynchronizerUsageSupported()) {
   // Print lock info if, and only if, both object monitor usage and synchronizer usage are supported.
   dumpThreadInfo(threadDump, true, threadMx);
 } else {
   dumpThreadInfo(threadDump, false, threadMx);
 }
 return threadDump.toString();
}

代码示例来源:origin: com.linkedin.parseq/parseq

void threadDump(StringBuilder out) {
 if (canDumpLocks && tmbean.isObjectMonitorUsageSupported() && tmbean.isSynchronizerUsageSupported()) {
  dumpThreadInfoWithLocks(out);
 } else {
  dumpThreadInfo(out);
 }
}

相关文章

微信公众号

最新文章

更多