如何实现简单的MVCC数据结构
我正在阅读有关不同的并发模型和并发性的不同功能,但没有文字介绍如何实现简单的MVCC数据结构。 让我们说我必须实现一个简单的基于数组的结构,它提供了基于MVCC的并发性。 我的代码应该如何?
我明白,MVCC基本上意味着:(多重并发控制)
1)读取隔离 - 您的写入不应该阻止读取
2)基于时间戳的订单建立发生在关系/订购之前。
我需要记住其他方面吗?
另外,我的下面的代码处理第一个要求,但如何实现时间戳排序?
class MVCCArray{
private int[] arr;
MVCCArray(int n){
arr = new int[n];
}
//unblocking reads
public int getItem(int index){
return arr[index];
}
//blocking writes
public synchronized void setItem(int index, int value){
arr[index]=value;
}
}
PS:我想了解它是如何以通用的方式实现的。 请不要解释它是如何在特定数据库中实现的。
链接地址: http://www.djcxy.com/p/30609.html上一篇: How to implement simple MVCC datastructure
下一篇: Tree & Concurrency