我希望使用数据库表创建一些分布式互斥。最好在存储过程上有以下接口:
Wait(uniqueidentifier)
我最初的想法是通过拥有唯一标识符的表来实现这一点。调用该过程将等待,直到唯一标识符不存在于表中。然而,我不确定如何使调用线程在指定的唯一标识符从表中删除时唤醒。
有什么想法吗?如果数据库不是执行此操作的正确位置,是否有任何第三方工具可用(最好是开源的)?
(为避免死锁,在等待操作中要么包含超时,要么SqlCommand具有超时)
Wait(uniqueidentifier)
我最初的想法是通过拥有唯一标识符的表来实现这一点。调用该过程将等待,直到唯一标识符不存在于表中。然而,我不确定如何使调用线程在指定的唯一标识符从表中删除时唤醒。
有什么想法吗?如果数据库不是执行此操作的正确位置,是否有任何第三方工具可用(最好是开源的)?
(为避免死锁,在等待操作中要么包含超时,要么SqlCommand具有超时)