python 多线程如何同时读写 sqlite?

2014-02-27 10:44:09 +08:00
 pc10201
好像sqlite不支持多线程,或者说不是线程安全的
各位大神有解决方案没?
13208 次点击
所在节点    Python
6 条回复
cxe2v
2014-02-27 10:48:32 +08:00
你自己在接入sqlite之前用个总的接口控制一下
cxl008
2014-02-27 10:49:30 +08:00
sq = sqlite3.connect("xxxxx",check_same_thread = False)
lovesky
2014-02-27 10:49:36 +08:00
sqlite 是线程安全的,python推荐用apsw

https://www.sqlite.org/threadsafe.html
https://code.google.com/p/apsw/
cxl008
2014-02-27 10:50:03 +08:00
如果太密集的读写,特别是对同一个表操作的话,还是会出问题的
dialox
2014-02-27 10:56:56 +08:00
多线程同时读写sqlite是可以的,但是需要在所有的sql操作后都要检查返回码,如果是被占用的错误的,要有重试机制就可以了。
geeks007
2014-03-04 15:38:26 +08:00
像sqlite这种文件型数据库应该写入时会锁住吧,多线程也没多大意义啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/102067

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX