【发布时间】:2016-05-18 01:08:42
【问题描述】:
Linux 中运行线程的数量是否有最大限制? 是否可以统计java中所有类的线程总数?
【问题讨论】:
-
已经提供了一些不错的答案here。
标签: java linux multithreading
Linux 中运行线程的数量是否有最大限制? 是否可以统计java中所有类的线程总数?
【问题讨论】:
标签: java linux multithreading
从技术上讲,您应该使用 2 X numberOfPhysicalCores 线程以获得最佳性能。 This 帖子描述了最大线程数(感谢@gavriel 找到它:P)
接下来,获取当前JVM中正在运行的线程数:
public static void main(String[] args) throws IOException, InterruptedException {
ExecutorService service = Executors.newFixedThreadPool(4);
service.execute(new Runnable() {
public void run() {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
System.out.println(Thread.getAllStackTraces().size());
}
O/P : 5
【讨论】:
Thread.getAllStackTraces() 不这样做吗?