并发 - Concurrency

一个数据库在同一时间内只能由一个进程打开,leveldb通过从操作系统中获取锁的方式防止误用。在单个进程中,同一个leveldb::DB对象可以安全的由多个并发线程共享使用。即,不同的线程可以同时写入或获取迭代器,或在没有任何外部同步的情况在同一数据库上调用Getleveldb的实现过程中将自动自行所需的同步)。但是其他对象(如IteratorWriteBatch)可能需要外部同步。如果两个线程共享这样的对象,它们必须使用自己的协议锁来保护自己的访问。更多详细的细节在公共的头文件中描述。