RocksDB IO错误:锁定db / LOCK:没有锁可用

时间:2015-11-10 00:31:30

标签: android c++ multithreading server rocksdb

我正在开发一个多线程服务器,用于存储和读取数据库中的信息。 db是使用RocksDB实现的。

我遇到的问题是,当我一次从多个线程访问数据库时,我收到了该错误。

通常情况下,在使用数据库后没有删除数据库,但现在它没有意义,当然它没有被删除,它被其他人使用线程。

我知道db本身是按照secuential的顺序访问的,所以tecnically你永远不会让两个线程同时读取它,但至少其中一个应该等到锁被释放然后访问它

任何人都知道可能会发生什么?

1 个答案:

答案 0 :(得分:2)

问题是我在同一个数据库名称的不同线程中有2个rocksdb :: DB *对象,并且同时从两个线程打开数据库