[多进程访问sqlite3 bug] 解决方法
背景:sqlite3数据库的读取,写入,查找,删除等操作以库的形式给出
写两个进程模拟多进程访问数据库文件导致的错误,最后给出解决方法
关于libdata.so和database.h头文件
database.h只是申明了一个虚基类,database_impl.h和database_impl.cpp继承了database类,并进行了具体实现。
我们将database_impl.h和database_impl.cpp文件编译成libdatabase.so库文件。
别人在使用的时候,只需要用到libdatabase.so库文件和database.h就可以访问我们设计的API了
给出两个进程访问sqlite3数据库文件的操作
process1.cpp
#include
#include
#include
#include
#include "common.h"
#include "database.h"using namespace std;
using namespace ara::per;class Oper
{
public:Oper();~Oper();void CreateDBTable();void InsertOneRecord(const int i);private: std::shared_ptr sp_db = nullptr;
};Oper::Oper()
{sp_db = DatabaseInterface::get_instance();sp_db
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
