マルチスレッド アプリケーションのどのスレッドも、任意の時点で複数のロックを取得することがなく、そのようなロックが常にある時点で解放される場合、デッドロックが発生する可能性はありますか?
答えは「いいえ」だと思います-別のスレッドが利用できないロックを必要とする場合、他のスレッドの実行を妨げるロックを保持せず、必要なロックが利用可能になるまでブロックします-本当ですか?
その場合、どの時点でデッドロックが可能になりますか? たとえば、1 つを除くすべてのスレッドが一度に複数のロックを取得しない場合、デッドロックが発生する可能性がありますか? 個人的には方法がわかりません。
古典的なデッドロックのケースは、あるスレッドがロック A を持っているがロック B を必要とし、別のスレッドがロック B を持っていてロック A を必要とする場合です。