使用thread.join()时抛出NullPointerException

时间:2019-07-16 15:11:58

标签: java multithreading nullpointerexception

我创建了一个用于矩阵乘法的类,该类实现了Runnable接口。它具有一个全部初始化的线程数组,并确保在返回用于同一线程数组的每个循环的矩阵之前,完成所有计算,并在尝试加入第一个线程时立即触发NullpointerException。完成处理后,线程对象会变成空吗?

我添加了一个if子句来检查线程是否为空,它解决了问题,但是我没有发现任何迹象表明线程对象在完成后变为空。

Thread[] threads = new Thread[amountOfThreads];
for (Thread thread : threads) {
    thread = new Thread(this);
    thread.start();
}
for (Thread thread : threads) {
    thread.join();
}

1 个答案:

答案 0 :(得分:0)

您需要将创建的线程添加到数组中。像这样

metadata.FromIncomingContext