私のプログラムは共有リソースを利用するので、このリソースのロックが必要です。
このリソースの処理タスクが開始されると、リソースのロックが取得されます。完了すると、ロックが解除されます。
ロックを永久にオンのままにする処理タスク中のクラッシュや電源障害に対応するには、ロックに有効期限を設定する必要があります。
リソースに関連する処理タスクの実行にかかる時間が通常 0 から 5 秒の間である場合、有効期限は約 10 分または 1 時間であるべきだと思います。
では、処理タスクが実際に有効期限よりも長くかかるという異常なシナリオにどのように対応すればよいでしょうか?
タスク自体の有効期限は、ロックの有効期限よりも短くする必要がありますか?