まだこのスレッド/通貨のことを取り下げようとしています. ご協力ありがとうございました。プログラムは 3 つのクラスに分かれています。Analysis はファイルを開き、ファイルから行を取得して ForkJoinPool を使用して実行可能なクラスに渡し、プールが終了するのを待ってからデータを別のファイルに出力します。RowCheck は実行可能なクラスです。これはデータをソートし、出力前にデータを整理するための AtomicReference>> を持つ最終クラスである Data に渡します。分析:
threadmgmt.execute(thread);
...close loop...close try block...exception handling...
while(threadmgmt.hasQueuedSubmissions()){ }
while(Data.isBusy()){
if(threadmgmt.isQuiescent()){
Data.setBusy(false); } }
...try block for output...
output = Data.getArray(); // This is where the error is called from
Exception in thread "main" java.lang.NullPointerException
at com.hcue.csvanalysis.Data.getArray(Data.java:56)
at com.hcue.csvanalysis.Analysis.main(Analysis.java:55)
RowCheck は以前に 60 数のスレッド間でメソッドを呼び出してそうしましたが、AtomicReference が変更されていないため、NullPointerException であることは驚くことではありません。あなたが持っていることを示唆するものは何ですか?