データベース テーブルを使用して分散相互排除を作成したいと考えています。ストアド プロシージャに次のインターフェイスがあると便利です。
Wait(一意の識別子)
私はもともと、一意の識別子のテーブルを持つことでこれを実装することを考えていました。プロシージャーの呼び出しは、固有 ID がテーブルに存在しなくなるまで待機します。ただし、指定された一意の識別子がテーブルから削除されたときに、呼び出し元のスレッドを起動する方法がわかりません。
何か案は?データベースがこれを行うのに適切な場所ではない場合、動作するサードパーティのツールはありますか (できればオープンソース)?
(デッドロックを回避するために、待機操作にタイムアウトを含めるか、SqlCommand にタイムアウトを持たせたい)