【发布时间】:2020-03-27 17:12:48
【问题描述】:
我正在尝试执行 join();主线程上的函数为了获取主线程对象,我使用了来自 Thread.currentThread(); 的引用通过以下代码,但它经常给我一个 NullPointerException 好像主线程没有被初始化:
public class Main{
MyThread t1 = new MyThread();
public static void main(String[] args) {
t1.mainthread = Thread.currentThread();
MyThread t = new MyThread();
t.start();
for (int i = 0; i<10 ; i++)
System.out.println("main thread");
}
}
子线程类:
public class MyThread extends Thread {
Thread mainthread ;
@Override
public void run() {
for (int i = 0; i<10 ; i++)
System.out.println("child thread ");
try {
mainthread.join();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
它经常给我一个 NullPointerException 好像主线程没有被初始化
【问题讨论】:
标签: java multithreading nullpointerexception