采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
就好比是这个样子?
@Override public void run() { // 线程的第二种状态 RUNNABLE System.out.println(Thread.currentThread().getState()); for (int i = 0; i < 1000; i++) { System.out.println(i); } }
也可以的,两种方法效果相同。
我觉得在run方法打印状态也只能打印出RUNNABLE状态,毕竟只有当前线程运行的时候才能执行这行代码,如果当前前程被阻塞了,是不会运行这行代码的,也就不会打印当前线程的状态,但是如果我们在其他运行中的线程去打印此线程的状态,是可以打印出被阻塞线程的状态。
如果是在其他线程中打印 thread1 线程的状态,打印状态的时候 thread1 并不是正在运行的啊。这个样子无法验证 当前正在运行的线程是 runnable 的吧。
如果是thread1线程是RUNNABLE状态,那么其他运行着的线程去打印它就是RUNNABLE状态,可以验证的。
登录后可查看更多问答,登录/注册
完整的并发知识网络+丰富的工作内容分享+50余道并发高频面试题
1.9k 26
888 12
1.0k 12
2.5k 12
1.1k 11