Browse Source

Add lock for Concurrent

main
kevinyao0901 3 weeks ago
parent
commit
84fd00cfb9
1 changed files with 12 additions and 0 deletions
  1. +12
    -0
      README.md

+ 12
- 0
README.md View File

@ -391,6 +391,12 @@ Status DBImpl::DeleteIndex(const std::string& fieldName) {
关键代码:
```cpp
Status DBImpl::Put(const WriteOptions& o, const Slice& key, const Slice& val) {
// 创建读写锁,放在函数内部
static std::mutex rw_mutex_; // 替换为 std::mutex,适用于 C++11 或更低版本
// 加写锁,确保写操作的原子性
std::unique_lock<std::mutex> lock(rw_mutex_);
...
// 在主数据库写入新数据
batch.Put(key, val);
@ -434,6 +440,12 @@ Status DBImpl::Put(const WriteOptions& o, const Slice& key, const Slice& val) {
关键代码:
```cpp
Status DBImpl::Delete(const WriteOptions& options, const Slice& key) {
// 创建读写锁,放在函数内部
static std::mutex rw_mutex_; // 替换为 std::mutex,适用于 C++11 或更低版本
// 加写锁,确保写操作的原子性
std::unique_lock<std::mutex> lock(rw_mutex_);
...
// 从主数据库删除目标键
batch.Delete(key);

Loading…
Cancel
Save