woaidongmao

文章均收录自他人博客,但不喜标题前加-[转贴],因其丑陋,见谅!~
随笔 - 1469, 文章 - 0, 评论 - 661, 引用 - 0
数据加载中……

Berkeley DB对并发的支持

DB对并发的支持

要让Berkeley DB数据支持并发,就要创建Berkeley DB的环境(environment)
环境类是 DbEnv。要支持并发,在初始化DbEnv时要用DB_INIT_CDB、DB_INIT_MPOOL
两个标致。

如下

DbEnv env;
env.open( "evn", DB_INIT_CDB|DB_INIT_MPOOL, 0 );

然后在创建数据库时,将环境传给数据库。如下

Db bdb( &env, 0 );

这样就可以支持并发了。

Berkeley DB并发的简单原则
Berkeley DB的并发遵循的是允许同时多个读操作,当只有一个写操作。
1 每个游标有一锁,非游标的读写用一锁
2 写操作等待所有的读锁解锁。
3 读操作不需要等待写锁解锁。

posted on 2011-08-28 21:21 肥仔 阅读(454) 评论(0)  编辑 收藏 引用 所属分类: 数据库


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理