2

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

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

通常情况下,在usign之后没有删除db,但是现在它没有意义,当然它没有被删除,它正在被另一个线程使用。

我知道数据库本身是按顺序访问的,所以从技术上讲,你永远不会让两个线程同时读取它,但至少其中一个线程应该等到锁被释放然后再访问它

有人知道会发生什么吗?

4

1 回答 1

2

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

于 2015-11-11T01:28:00.240 回答