gpt4 book ai didi

python - SQLite3 和多处理

转载 作者:IT王子 更新时间:2023-10-29 06:31:12 24 4
gpt4 key购买 nike

我注意到当我在多处理环境中使用 sqlite3 时,它既不强大也不可靠。每个进程都试图将一些数据写入同一个数据库,这样一个连接就被多个线程使用了。我尝试使用 check_same_thread=False 选项,但插入的次数非常随机:有时它包含所有内容,有时则不包含。我应该只并行处理函数的一部分(从 Web 获取数据),将它们的输出堆叠到一个列表中并将它们一起放入表中,还是有可靠的方法来处理与 sqlite 的多连接?

最佳答案

首先,多进程(多个进程)和多线程(一个进程中的多个线程)是有区别的。

看来你在这里谈论的是多线程。在多线程环境中使用 SQLite 时,您应该注意一些注意事项。 SQLite documentation提到以下内容:

  • Do not use the same database connection at the same time in more than one thread.
  • On some operating systems, a database connection should always be used in the same thread in which it was originally created.

请参阅此处了解更多详细信息:Is SQLite thread-safe?

关于python - SQLite3 和多处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6969820/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com