假设在 G-WAN 服务器线程中,我们在 KV 存储中查找了一个项目,并获得了一个指向“记录”结构的有效指针。(KV 存储附加到 G-WAN 的持久指针。)
record = (record_t*)kv_get(&records, "akey", sizeof("akey") - 1);
我假设我们可以安全地读取记录结构的内容,即使它在另一个服务器线程中被标记为删除,这要归功于无锁设计。
我的问题是实际删除何时发生?在请求最终返回之前,我们是否保证可以访问“记录”?
假设在 G-WAN 服务器线程中,我们在 KV 存储中查找了一个项目,并获得了一个指向“记录”结构的有效指针。(KV 存储附加到 G-WAN 的持久指针。)
record = (record_t*)kv_get(&records, "akey", sizeof("akey") - 1);
我假设我们可以安全地读取记录结构的内容,即使它在另一个服务器线程中被标记为删除,这要归功于无锁设计。
我的问题是实际删除何时发生?在请求最终返回之前,我们是否保证可以访问“记录”?