2014-09-01 106 views
2

我想在leveldb的一段时间内使用相同的迭代器。一旦我创建了一个迭代器,如果有来自另一个线程的更改,那么leveldb迭代器会提供这些更改吗?或者我必须创建另一个迭代器?迭代器是否持续提供LevelDB中基础数据的当前视图?

+0

+1我会假设它是不是除非产品体系,使现场或连续查询。 – 2014-09-01 16:42:59

+0

根据我的经验,LevelDB擅长反映最近的变化,即使它们还没有被提交到磁盘。但是当我们谈论线程时,我们谈论的是一堆蠕虫,就像一般情况那样,在两个线程执行时很难或根本无法确切知道。这不是LevelDB的问题,这是线程的问题。接近你的问题,当你创建一个迭代器时,它肯定不会读入整个数据库,并且在那个时间点继续处理状态。 – flow 2014-09-02 11:21:48

回答