Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中管理并发LMDB写入?_Python_Python 2.7_Concurrency_Lmdb - Fatal编程技术网

如何在Python中管理并发LMDB写入?

如何在Python中管理并发LMDB写入?,python,python-2.7,concurrency,lmdb,Python,Python 2.7,Concurrency,Lmdb,我知道LMDB不支持并发写入 我有一个应用程序,其中并发写尝试非常罕见,但它们可能偶尔发生。在Python应用程序中应该如何管理这一点 具体而言: 并发写入尝试是否会在Python LMDB绑定中引发异常,以便可以在异常处理程序中安排重试?尝试并发写入是否安全 或者,是否有其他或更好的方法来处理并发写入尝试 根据lmdb文档,lmdb自行处理并发写入。一次打开多个读写事务时。除活动写事务外,Lmdb使所有其他写事务等待,直到当前活动写事务提交。因此,它可以处理并发写入。因此,本质上,即使我们的

我知道LMDB不支持并发写入

我有一个应用程序,其中并发写尝试非常罕见,但它们可能偶尔发生。在Python应用程序中应该如何管理这一点

具体而言:

  • 并发写入尝试是否会在Python LMDB绑定中引发异常,以便可以在异常处理程序中安排重试?尝试并发写入是否安全

  • 或者,是否有其他或更好的方法来处理并发写入尝试


根据lmdb文档,lmdb自行处理并发写入。一次打开多个读写事务时。除活动写事务外,Lmdb使所有其他写事务等待,直到当前活动写事务提交。因此,它可以处理并发写入。

因此,本质上,即使我们的应用程序可以使用多个并发写入调用访问lmdb环境,lmdb内部也会处理它。这个处理只会抓取所有这些并发请求,并将它们按顺序排列。因此,我们正在浪费计算并行化一些甚至不会同时运行的东西。所有的工作都没有完成。它是??