sqlite4java中的多线程队列使用(线程安全)

sqlite4java中的多线程队列使用(线程安全),第1张

概述sqlite4java是sqlite驱动的一个开源项目,效率和稳定性非常的不错,关键是它在各个平台下均有本地实现,跨平台做的很不错,使用也非常的简单,又能提供x86平台和arm平台的支持,windows、linux、安卓全面支持,该项目官方网站:https://code.google.com/p/sqlite4java/ 最新版本: sqlite4java-282 with SQLite 3.7.

sqlite4java是sqlite驱动的一个开源项目,效率和稳定性非常的不错,关键是它在各个平台下均有本地实现,跨平台做的很不错,使用也非常的简单,又能提供x86平台和arm平台的支持,windows、linux、安卓全面支持,该项目官方网站:https://code.google.com/p/sqlite4java/

最新版本:

sqlite4java-282withsqlite 3.7.10and AndroID support

但是关于其中多线程下确保安全的队列:

sqliteQueue官方网站的介绍非常的少,下面就举例说明它的用法:

测试主程序:

public class Mainapp {



/**
* @param args
* @throws sqliteException
* @throws InterruptedException
* @throws IOException
*/
public static voID main(String[] args) throws sqliteException,IOException,InterruptedException {
sqliteQueue myQueue=new sqliteQueue(new file(file_db));
myQueue.start();

//主线程一定要建立唯一的sqliteQueue,这个队列已经打开好数据库,在myQueue.start();

//后,就在其他任何线程可以往队列里加入数据库 *** 作(sqliteJob),当然主线程也是可以的。

sql_thread sql_thread1=new sql_thread(myQueue);
Thread t1=new Thread(sql_thread1);

sql_thread sql_thread2=new sql_thread(myQueue);
Thread t2=new Thread(sql_thread2);

//******启动线程

t1.start();
t2.start();
}
}

//*************************************sql *** 作线程*****************************************************

public class sql_thread implements Runnable{
private sqliteQueue myQueue;
public sql_thread (sqliteQueue myQueue) {
this.myQueue=myQueue;
}
@OverrIDe
public voID run() {

for (int i=0;i<1000;i++){
insert_Record("插入1",“插入2”); // 本地有查询方法就不用传入myQueue,否则参数里需要带上myQueue直到传递到sqlite *** 作方法里

}

}

//********************************写数据库**************************************************************

public static Boolean insert_Record (final String cardno,final String card_type) {
return myQueue.execute(new sqliteJob<Boolean>() {
protected Boolean job(sqliteConnection connection) throws sqliteException {
sqliteStatement st = connection.prepare("insert into record(cardno,card_type) values (?,?)");
try {
st.bind(1,cardno);
st.bind(2,card_type);
st.step();
return true;
} finally {
st.dispose();
}
}
}).complete();
}

//结束

}

如果有什么疑问可以留言。

总结

以上是内存溢出为你收集整理的sqlite4java中的多线程队列使用(线程安全)全部内容,希望文章能够帮你解决sqlite4java中的多线程队列使用(线程安全)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1172988.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存