我的程序将使用一个共享资源,因此需要对此资源进行锁定。
当此资源上的处理任务启动时,它将获得资源上的锁。当它完成时,它将释放锁。
为了应对处理任务期间的崩溃和电源故障,锁将永远处于打开状态,锁应该有到期时间。
如果执行涉及资源的处理任务的时间通常在0到5秒之间,我认为过期时间应该是大约10分钟甚至1小时。
那么,我应该如何处理处理任务实际花费的时间比到期时间更长的不寻常情况呢?
任务本身的过期时间是否应该小于锁的过期时间?
发布于 2012-10-02 20:57:46
我猜您正在处理远程资源。锁的处理应该在它的一侧进行。调用者应该在获取锁超时指定锁超时,并且您应该支持锁所有者的方法,以便在需要时请求更长的超时。
https://stackoverflow.com/questions/12689585
复制相似问题