【问题标题】:How to set expiry for lock on resource?如何设置资源锁定的到期时间?
【发布时间】:2012-10-02 11:41:41
【问题描述】:

我的程序将使用共享资源,因此需要锁定该资源。

当启动此资源上的处理任务时,它将获得对该资源的锁定。完成后会释放锁。

为了应对处理任务期间的崩溃和电源故障,这将使锁永远处于开启状态,锁应该有一个到期时间。

如果执行涉及资源的处理任务所花费的时间通常在0到5秒之间,我认为到期时间应该在10分钟甚至1小时左右。

那么我应该如何应对处理任务实际上比到期时间更长的异常情况?

任务本身的到期时间是否应该小于锁的到期时间?

【问题讨论】:

    标签: c# concurrency locking shared-resource


    【解决方案1】:

    我猜你正在处理远程资源。锁处理应在其一侧完成。调用者在获取它时应该指定锁超时,并且您应该支持锁所有者在需要时请求更长的超时的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-11
      • 1970-01-01
      • 1970-01-01
      • 2012-08-27
      • 2016-10-02
      • 1970-01-01
      • 1970-01-01
      • 2019-08-25
      相关资源
      最近更新 更多