ReentrantLock を使用すると、スレッドは同じロックを再帰的に取得できるため、連続するロック/ロック解除でロック カウントが増減します。一方、ロック カウントは、他のスレッドに解放される前にゼロにデクリメントする必要があります。
なぜ、またはどのような状況で、再帰的にロックを取得するコードを書くのでしょうか?
この機能を持つ唯一のポイントは、メソッド (実行中にロックを取得する) が再帰的に呼び出される再帰コードを書きやすくすることです。
スレッドによるロックの再帰的/反復的な取得が役立つ可能性がある他の状況はありますか?
質問の明確化:
- 再入可能なロックは無視してください。たまたま、再入可能ロックによって再帰性が提供されます。
- ロックの再帰的な機能について言及しています
- 再入可能ロックを使用する理由については回答しないでください。
- 「再帰性はリエントラントロックの主な特徴ではない」と答えないでください
- ロックが再入可能かどうかに関係なく、どのような状況でロックを再帰的に取得する必要があるかを知りたいです。