0

私のプログラムは共有リソースを利用するので、このリソースのロックが必要です。

このリソースの処理タスクが開始されると、リソースのロックが取得されます。完了すると、ロックが解除されます。

ロックを永久にオンのままにする処理タスク中のクラッシュや電源障害に対応するには、ロックに有効期限を設定する必要があります。

リソースに関連する処理タスクの実行にかかる時間が通常 0 から 5 秒の間である場合、有効期限は約 10 分または 1 時間であるべきだと思います。

では、処理タスクが実際に有効期限よりも長くかかるという異常なシナリオにどのように対応すればよいでしょうか?

タスク自体の有効期限は、ロックの有効期限よりも短くする必要がありますか?

4

1 に答える 1

0

リモートリソースを扱っていると思います。ロックの処理は、その側で行う必要があります。呼び出し元は、ロックを取得するときにロックのタイムアウトを指定する必要があります。必要に応じて、ロックの所有者がより長いタイムアウトを要求する方法をサポートする必要があります。

于 2012-10-02T12:57:45.613 に答える