Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Synchronization 分布式多资源悲观锁定算法_Synchronization_Distributed Computing_Pessimistic Locking - Fatal编程技术网

Synchronization 分布式多资源悲观锁定算法

Synchronization 分布式多资源悲观锁定算法,synchronization,distributed-computing,pessimistic-locking,Synchronization,Distributed Computing,Pessimistic Locking,我正在为分布式键值存储实现悲观锁定。我有一个坚如磐石的原子比较交换(以及递增和递减)操作来实现锁。还有已经提供原子操作的集合、排序集合、列表和数组的数据结构(我可以使用服务器端脚本以任何方式原子地操作这些结构) 将上述内容用作构建块,我需要创建一个可重入的互斥体,该互斥体支持类似.Net的操作,即能够在一次调用中锁定多个资源,同时最大限度地减少活锁和饥饿的可能性。我该怎么做?有一个普遍接受的算法吗 作为一个附带问题,我已经研究了彼得森算法及其亲属,但这些互斥算法似乎解决了一个与我所面临的不同的问

我正在为分布式键值存储实现悲观锁定。我有一个坚如磐石的原子比较交换(以及递增和递减)操作来实现锁。还有已经提供原子操作的集合、排序集合、列表和数组的数据结构(我可以使用服务器端脚本以任何方式原子地操作这些结构)

将上述内容用作构建块,我需要创建一个可重入的互斥体,该互斥体支持类似.Net的操作,即能够在一次调用中锁定多个资源,同时最大限度地减少活锁和饥饿的可能性。我该怎么做?有一个普遍接受的算法吗

作为一个附带问题,我已经研究了彼得森算法及其亲属,但这些互斥算法似乎解决了一个与我所面临的不同的问题(我已经有了原子操作)。我正在致力于一种我认为是更高级的同步原语(基于的标题)的东西,我想知道是否有一种单独的算法可以解决这些不太深入的核心问题