HarmonyOS 关于RdbStore的操作的一些疑问
关系型数据库文档有如下描述:
1、“为保证数据的准确性,数据库同一时间只能支持一个写操作”
2、“数据库中有4个读连接和1个写连接,线程获取到空闲读连接时,即可进行读取操作。当没有空闲读连接且有空闲写连接时,会将写连接当做读连接来使用”
相关问题:
1、RDB框架内部做了安全同步同步吗?是否支持多线程写操作?还是需要开发者自己考虑同步操作?
2、如果不支持多线程写入,HarmonyOS 上有没有类似java synchronized 同步锁的一些方案?
3、普通的写、查、删操作,比如query、delete、insert等API内部是否实现了事务?是否还需要开发者自己实现?
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 关于新版API StyledString的一些疑问
21浏览 • 1回复 待解决
HarmonyOS 关于hmosworld Navigation一些管理问题的疑问
38浏览 • 1回复 待解决
关于《华为帐号登录管理细则》的一些疑问
1742浏览 • 1回复 待解决
HarmonyOS 使用Navigation的一些疑问
350浏览 • 1回复 待解决
关于designWidth的一些问题
348浏览 • 1回复 待解决
HarmonyOS 关于VPN的一些使用问题?
118浏览 • 1回复 待解决
关于系统信息的一些参数询问
310浏览 • 1回复 待解决
关于快速修复的一些问题。
784浏览 • 1回复 待解决
关于鸿蒙BLE的一些问题
4338浏览 • 1回复 待解决
关于liteos,有一些疑惑
9076浏览 • 3回复 待解决
关于华为应用级AT的一些问题
12045浏览 • 3回复 待解决
关于laravel的一些难受问题,连表查询
3150浏览 • 1回复 待解决
关于鸿蒙和uboot间的一些问题
9239浏览 • 2回复 待解决
关于liteos-a的一些问题想请教各位
8668浏览 • 2回复 待解决
关于Redis缓存的一些问题有了解的吗?
3567浏览 • 1回复 待解决
看了10.20的直播,有一些关于鸿蒙的问题想问大家
9233浏览 • 2回复 待解决
关于 IDE 里的 Snapshot 分析,有没有详细一些的文档?
802浏览 • 1回复 待解决
HarmonyOS Navigation转场动画的一些思路
37浏览 • 1回复 待解决
HarmonyOS 是否支持指定的一些字体?
291浏览 • 1回复 待解决
对象释放前,需要告诉业务做一些操作,怎么实现
757浏览 • 1回复 待解决
docker 线上使用的一些问题
2513浏览 • 1回复 待解决
有没有新的napi的一些demo?
427浏览 • 3回复 待解决
HarmonyOS 有关Video组件的一些问题
44浏览 • 1回复 待解决
HarmonyOS 咨询一下Tab中的一些写法
29浏览 • 1回复 待解决
DevEco Studio 升级后的一些问题
10056浏览 • 1回复 待解决
RdbStore中有安全同步,支持多线程写,因为只有一个写链接,所以在同时有多个写操作时,只会有一个写操作写入,其他写操作需要等待写链接空闲时才能写入:
https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-local-database-management-16-V5
可以在调用的异步方法前面加上await将方法转为同步:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/concurrency-overview-V5
可以通过beginTransaction开启事务:
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-data-relationalstore-V5#begintransaction
ArkTS是线程隔离的,并不存在线程锁,rdb底层基于sqlite,应用使用时c层会单独创建线程,c存在线程锁,支持多线程写操作,在多线程中,RDB在同一时间只支持一个写操作,只有存在空闲的写链接才能继续进行写操作,用这样的限制来保证数据存储的正确性