【发布时间】:2011-07-11 15:50:59
【问题描述】:
我的 perl 脚本是多线程的,在每个线程中我必须向 sqlite3 数据库写入一些内容。但正如你可能猜到的,我得到了很多
DBD::SQLite::db 失败:数据库在 script.pl 第 264 行被锁定。
消息。我读到 sqlite3 能够处理多线程情况,甚至是 INSERT 语句,但我认为在同时插入 8 个线程时我期望很高。
好的,所以这是不可能的,但是否有可能在插入之前执行检查以查看数据库是否已锁定(或忙碌)然后等到再次空闲?
我真的不想更改为“真正的”DBMS,因为它只是一个简单的脚本。
谢谢
【问题讨论】:
-
您可以发布任何代码吗?与其他语言中的多线程相比,Perl 中的多线程有很多限制。我希望必须做很多杂技才能从一个线程更新到 SQLite 数据库以被另一个线程识别。