IamがJavaのスレッドを使用して長い名前のリストを並べ替えるという学校の課題があります。ソートアルゴリズムの速度には焦点が当てられていませんが、スレッドとスレッドがソートの速度にどのように影響するかを理解するための割り当てです。
私は正しい道を進んでいるように感じますが、コード/スレッドがモニターを台無しにします。しばらくの間、問題を特定しようとしました。私にとっては、問題はclass SortThreads
run()
メソッドにあるようです。人々は私にいくつかのヒントやヒントを教えてもらえますか?
public void run() {
while (monitor.getSize() > 1) {
System.out.println("Number of array in list to be sorted: "
+ monitor.getSize());
String[] f = monitor.getRandom();
String[] g = monitor.getRandom();
monitor.add(descSort(f, g));
}
System.out.println("*** THREAD DEAD ***");
}
出力:
After delete: 1
Number of array in list to be sorted: 3
Befor delete: 1
After delete: 0
Number of array in list to be sorted: 0
Exception in thread "Thread-101" java.lang.NullPointerException
at SortThread.append(Sort.java:222)
at SortThread.descSort(Sort.java:201)
at SortThread.run(Sort.java:178)
Exception in thread "Thread-96" java.lang.NullPointerException
at SortThread.append(Sort.java:222)
at SortThread.descSort(Sort.java:201)
at SortThread.run(Sort.java:178)
Number of array in list to be sorted: 0
Number of array in list to be sorted: 0