从Android中的不同线程进行数据库访问

从Android中的不同线程进行数据库访问,第1张

概述我有一个服务,可以在AsyncTasks中从Internet下载数据.它解析数据并将其存储在数据库中.该服务连续运行.服务正在写入数据库时​​,活动会尝试从数据库读取该数据.我有一个数据库助手,其中包含几种用于读写的方法.这会引起问题吗?可能试图从两个不同的线程打开数据库?解决方法:关于d

我有一个服务,可以在AsyncTasks中从Internet下载数据.它解析数据并将其存储在数据库中.该服务连续运行.

服务正在写入数据库时​​,活动会尝试从数据库读取该数据.

我有一个数据库助手,其中包含几种用于读写的方法.这会引起问题吗?可能试图从两个不同的线程打开数据库?

解决方法:

关于db中的并发问题,已经讨论和写了许多书.

但是使用像维基百科这样的stackoverflow我发现了一些有趣的thing:

sqlite on androID lets you access the database from multiple procs for
reads, but if you’re currently writing from one process, reads and
writes from other procs will throw an exception because the first
write has a lock on the db.

这样就可以很好地保护数据库免受其他线程的攻击.坏消息是,您必须管理这些异常,并且如果您的数据库很大(意味着拥有大量表且需要进行大量数据交换),那可能是一件肮脏的工作.

总结

以上是内存溢出为你收集整理的从Android中的不同线程进行数据库访问全部内容,希望文章能够帮你解决从Android中的不同线程进行数据库访问所遇到的程序开发问题。

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

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

原文地址:https://54852.com/web/1084546.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存