posts - 58,  comments - 75,  trackbacks - 0
Berkeley 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 2007-05-26 16:17 walkspeed 阅读(2980) 评论(2)  编辑 收藏 引用 所属分类: C++语言Berkeley DB

FeedBack:
# re: Berkeley DB对并发的支持
2008-02-28 17:15 | winfarmer
我用你的方法不能编译过.  回复  更多评论
  
# re: Berkeley DB对并发的支持
2010-06-14 13:50 | ff
说了等于没说嘛  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理



<2007年4月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

常用链接

留言簿(4)

随笔分类(64)

随笔档案(58)

文章分类(3)

文章档案(3)

相册

收藏夹(9)

C++零碎

好友

搜索

  •  

积分与排名

  • 积分 - 159635
  • 排名 - 163

最新评论

阅读排行榜

评论排行榜