12
IllegalMonitorStateExceptionなしでJavaで待機と通知を使用する方法
2つの行列があり、それらを乗算して、各セルの結果を出力する必要があります。1つのセルの準備ができたらすぐに印刷する必要がありますが、たとえば[2] [0]の結果が最初に準備できたとしても、セル[2] [0]の前に[0] [0]セルを印刷する必要があります。ですから、注文順に印刷する必要があります。したがって、私の考えはmultiplyThread、正しいセルを印刷する準備ができたことをが通知するまでプリンタスレッドを待機させ、次にprinterThreadがセルを印刷して待機に戻る、などです。 だから私は乗算を行うこのスレッドを持っています: public void run() { int countNumOfActions = 0; // How many multiplications have we done int maxActions = randomize(); // Maximum number of actions allowed for (int i = 0; i < size; i++) { result[rowNum][colNum] = result[rowNum][colNum] + row[i] * col[i]; countNumOfActions++; // Reached …