私の推論が正しいかどうかを確認したいと思います。
まず、解決しようとしている問題についていくつか詳しく説明します。スレッド(プログラムの一部)は次のことを行います。
- 始まる
- Thread.sleepを呼び出します(20ms)
- getIn()メソッドを呼び出します
- ロックを取得しようとします(lock.lock())
- ロックが正常に取得されると、Thread.sleep(100ms)が呼び出されます。
- ロックが利用できない場合は、waitingCond.await()を呼び出します。
- Thread.sleep(100ms)を呼び出した後、lock.unlock()を呼び出します。
- 別のメソッドgetOut()を呼び出します
- 終了します(thread.join())
それを考えると、以下はスレッドの状態についての私の推測です:
READY TO RUN
州TIMED WAITING
州WAITING
州WAITING
州BLOCKED
州WAITING
州WAITING
州TERMINATED
州
ありがとう