4

according to the Berkeley documentation the Transactional (TS) and the Concurrent Datastore version of the Database, multiple threads may access (and change) the database.

Does this also mean that I can have 2 programs linked to the berkely 'client' and have them access the same database file without any problems?

(I ask, since for a separate database server this would be no problem of course, but in the case of Berkeley the database engine is linked long with your program)

thanks!

R

4

2 回答 2

4

第 16 章:参考指南中的锁定子系统看起来很有希望。

于 2011-10-19T08:55:44.597 回答
4

一些文档似乎认为您可以从多个进程以及多个线程同时使用同一个数据库。具体来说:

“多个进程或单个进程中的多个线程都可以同时使用数据库,因为每个都使用 Berkeley DB 库。锁定、事务日志记录、共享缓冲区管理、内存管理等低级服务是所有这些都由图书馆透明地处理。”

粗略的阅读并没有说明 BDB 使用什么来控制来自多个进程的访问,但是如果使用文件系统锁,来自网络文件系统上的多个进程的访问很可能是有问题的。

于 2009-11-17T23:12:49.683 回答