TinyKvStore
TinyKvStore copied to clipboard
锁加的有点问题
文章不错,但这里锁加的有点问题 至少得有两把锁,一把负责读写memTable和切换immutable的过程,一把负责dump immutable table到sstTable,这里用一把锁,dump时同时阻写和读了
immutable table到sstTable这个步骤,private void initFromIndex(TreeMap<String, Command> memory) {} 这个方法没见用锁啊。
文章不错,但这里锁加的有点问题 至少得有两把锁,一把负责读写memTable和切换immutable的过程,一把负责dump immutable table到sstTable,这里用一把锁,dump时同时阻写和读了
对的~,不过觉的这算是最简单的 LSM 了,照着coding一遍,加深了理解~