package a;
class A implements Runnable{
Thread t;
A(){
t=new Thread(this);
tstart();
}
@Override
public void run() {
for (int i=1;i<=3;i++){
try {
Threadsleep(1000);
Systemoutprintln(3-i);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
Systemoutprintln("线程A停止了");
}
}
class B{
public void show(){
A a =new A();
for (int i=1;i<=10;i++){
try {
Threadsleep(500);
} catch (InterruptedException e) {
eprintStackTrace();
}
Systemoutprintln(atisAlive());
}
}
}
public class aaaaaaa{
public static void main(String args[]){
B b=new B();
bshow();
}
}
其实你问的应该是为什么直接写Thread。
先看下api上如此写:
currentThread
public static Thread currentThread()
返回对当前正在执行的线程对象的引用。
可见这时个静态方法,你这么理解更好点:你在哪个线程调用的我(currentThread),我就给你返回哪个线程。跟父子其实没有关系的,你在父中调用我,我就返回你说的父线程,你在子调用我就返回子线程,你在main主线程调用,我就返回主线程。也就是说你cpu正在运行哪个线程。如图:
以上就是关于java怎么从一个类中获取另一个类中的线程的状态。全部的内容,包括:java怎么从一个类中获取另一个类中的线程的状态。、java中线程子类获取当前线程的引用时,线程子类调用Thread.currentThread()方法的疑问,谢谢大神。、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)