首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >线程.级别of快照的安全性

线程.级别of快照的安全性
EN

Stack Overflow用户
提问于 2014-04-20 21:58:17
回答 1查看 2.8K关注 0票数 5

读取快照是级别of的完全线程安全操作吗?

具体来说,一个线程读取一个级别数据库的快照,而另一个线程在同一个数据库上读取/写入快照,这是否是线程安全的呢?如果另一个线程可以同时关闭数据库或删除读取过程中的快照呢?

EN

Stack Overflow用户

发布于 2015-04-07 20:00:04

根据医生的说法:

数据库一次只能由一个进程打开。级别数据库实现从操作系统获取锁以防止误用。在单个进程中,相同的DB::DB对象可能由多个并发线程安全地共享。也就是说,不同的线程可以在没有任何外部同步的情况下写入、获取迭代器或调用Get在同一个数据库上( leveldb实现将自动完成所需的同步)。但是,其他对象(如Iterator和WriteBatch)可能需要外部同步。如果两个线程共享这样一个对象,它们必须使用自己的锁定协议保护对它的访问。更多详细信息可在公共头文件中获得。

https://github.com/google/leveldb/blob/master/doc/index.md#concurrency

票数 7
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23188037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档