调试的小工具->jcosole
位置
用法举例:
使用多线程时候,可以查看线程的状态
执行代码(先执行,后查看),打开jconsole,就可以看到,如图:
里边是Java的 一些相关程序,选择我们的程序就好啦。
之后便可以进入,进入之后选择线程,可以查看我们的线程运行情况。
放一个我这里用的代码,方便大家测试:
import java.util.Scanner;
//某个执行流因为某些原因阻塞了,但还需要做其他工作,可以使用多线程。
public class BlockDemo {
// O(2^n)
// 当 n 是 10,执行基本指令数是 1000
// 当 n 是 20, 100W
// 当 n 是 30 10亿
// 当 n 是 40 1万亿
// 执行效率很低,模拟阻塞的情况
static long fib(int n) {
if (n == 0 || n == 1) {
return 1;
}
return fib(n - 1) + fib(n - 2);
}
public static void main1(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
int n = scanner.nextInt();
long r = fib(n);
System.out.println(r);
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
int n = scanner.nextInt();
new Thread(() -> {
long r = fib(n);
System.out.println(r);
}).start();
}
}
}