如何实现简单的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