2014-09-01 41 views
2

我想在leveldb的一段時間內使用相同的迭代器。一旦我創建了一個迭代器,如果有來自另一個線程的更改,那麼leveldb迭代器會提供這些更改嗎?或者我必須創建另一個迭代器?迭代器是否持續提供LevelDB中基礎數據的當前視圖?

+0

+1我會假設它是不是除非產品體系,使現場或連續查詢。 – 2014-09-01 16:42:59

+0

根據我的經驗,LevelDB擅長反映最近的變化,即使它們還沒有被提交到磁盤。但是當我們談論線程時,我們談論的是一堆蠕蟲,就像一般情況那樣,在兩個線程執行時很難或根本無法確切知道。這不是LevelDB的問題,這是線程的問題。接近你的問題,當你創建一個迭代器時,它肯定不會讀入整個數據庫,並且在那個時間點繼續處理狀態。 – flow 2014-09-02 11:21:48

回答