HarmonyOS 关于RdbStore的操作的一些疑问
关系型数据库文档有如下描述:
1、“为保证数据的准确性,数据库同一时间只能支持一个写操作”
2、“数据库中有4个读连接和1个写连接,线程获取到空闲读连接时,即可进行读取操作。当没有空闲读连接且有空闲写连接时,会将写连接当做读连接来使用”
相关问题:
1、RDB框架内部做了安全同步同步吗?是否支持多线程写操作?还是需要开发者自己考虑同步操作?
2、如果不支持多线程写入,HarmonyOS 上有没有类似java synchronized 同步锁的一些方案?
3、普通的写、查、删操作,比如query、delete、insert等API内部是否实现了事务?是否还需要开发者自己实现?
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 关于新版API StyledString的一些疑问
1171浏览 • 1回复 待解决
HarmonyOS 关于hmosworld Navigation一些管理问题的疑问
1189浏览 • 1回复 待解决
关于《华为帐号登录管理细则》的一些疑问
3034浏览 • 1回复 待解决
HarmonyOS 使用Navigation的一些疑问
1814浏览 • 1回复 待解决
关于designWidth的一些问题
1660浏览 • 1回复 待解决
HarmonyOS 关于VPN的一些使用问题?
5241浏览 • 1回复 待解决
关于系统信息的一些参数询问
1480浏览 • 1回复 待解决
关于鸿蒙BLE的一些问题
5397浏览 • 1回复 待解决
关于快速修复的一些问题。
1799浏览 • 1回复 待解决
关于liteos,有一些疑惑
10209浏览 • 3回复 待解决
关于华为应用级AT的一些问题
13210浏览 • 3回复 待解决
关于laravel的一些难受问题,连表查询
4117浏览 • 1回复 待解决
关于鸿蒙和uboot间的一些问题
10384浏览 • 2回复 待解决
关于liteos-a的一些问题想请教各位
10467浏览 • 2回复 待解决
关于Redis缓存的一些问题有了解的吗?
4872浏览 • 1回复 待解决
关于 IDE 里的 Snapshot 分析,有没有详细一些的文档?
1746浏览 • 1回复 待解决
看了10.20的直播,有一些关于鸿蒙的问题想问大家
11453浏览 • 2回复 待解决
HarmonyOS Navigation转场动画的一些思路
1016浏览 • 1回复 待解决
HarmonyOS hiAppEvent的一些相关问题咨询
906浏览 • 1回复 待解决
HarmonyOS 是否支持指定的一些字体?
1134浏览 • 1回复 待解决
对象释放前,需要告诉业务做一些操作,怎么实现
1425浏览 • 1回复 待解决
HarmonyOS 有关Video组件的一些问题
1461浏览 • 1回复 待解决
docker 线上使用的一些问题
3648浏览 • 1回复 待解决
有没有新的napi的一些demo?
1166浏览 • 3回复 待解决
HarmonyOS 咨询一下Tab中的一些写法
1273浏览 • 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在同一时间只支持一个写操作,只有存在空闲的写链接才能继续进行写操作,用这样的限制来保证数据存储的正确性