gpt4 book ai didi

multithreading - 在 IntelliJ 上调试或运行时线程数不同

转载 作者:行者123 更新时间:2023-12-04 04:26:51 25 4
gpt4 key购买 nike

我正在使用以下代码:-

public static void main(String[] args) {
int threadPool = 4;
System.out.println("initial count---" + Thread.activeCount());
Thread.currentThread();
}

输出不一样
在 IntelliJ 上调试时:- initial count---1
在 IntelliJ 上运行时:- initial count---2
当我运行这个程序时,我无法理解什么是额外的线程。

最佳答案

运行 IntelliJ 时有一个额外的线程:

"Monitor Ctrl-Break" 
java.lang.Thread.State: RUNNABLE
at java.net.DualStackPlainSocketImpl.accept0(Native Method)
at java.net.DualStackPlainSocketImpl.socketAccept(DualStackPlainSocketImpl.java:131)
at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:398)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:199)
at java.net.ServerSocket.implAccept(ServerSocket.java:530)
at java.net.ServerSocket.accept(ServerSocket.java:498)
at com.intellij.rt.execution.application.AppMain$1.run(AppMain.java:90)
at java.lang.Thread.run(Thread.java:745)

您可以使用以下方法打印它们:
/** from http://crunchify.com/how-to-generate-java-thread-dump-programmatically/ */
public static String crunchifyGenerateThreadDump() {
final StringBuilder dump = new StringBuilder();
final ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
final ThreadInfo[] threadInfos = threadMXBean.getThreadInfo(threadMXBean.getAllThreadIds(), 100);
for (ThreadInfo threadInfo : threadInfos) {
dump.append('"');
dump.append(threadInfo.getThreadName());
dump.append("\" ");
final Thread.State state = threadInfo.getThreadState();
dump.append("\n java.lang.Thread.State: ");
dump.append(state);
final StackTraceElement[] stackTraceElements = threadInfo.getStackTrace();
for (final StackTraceElement stackTraceElement : stackTraceElements) {
dump.append("\n at ");
dump.append(stackTraceElement);
}
dump.append("\n\n");
}
return dump.toString();
}

关于multithreading - 在 IntelliJ 上调试或运行时线程数不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30561424/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com