android - 房间数据库中的多线程和同步
问题描述
我正在开发一个应用程序,其中多个线程可以更新同一个数据库,我不确定两个线程试图更新同一个数据库的某些情况。我搜索房间的工作原理并探索事务,但在这种情况下对我没有用,我正在执行相同的操作,但来自多个线程。我应该如何在不破坏数据的情况下保持数据库的一致性?
解决方案
基本上,您应该使用 Java 同步方法通过多个线程安全地从数据库中写入和读取(据我所知,与 Room 库无关)。多个线程使用的同步方法将确保对数据库的互斥访问。
在此处查看更多信息:为线程安全的读/写访问实现 SQLite 管理器?
推荐阅读
- javascript - UseState 多个初始状态
- r - predict.xgb.Booster "multi:softprob":理解维度矩阵列中输入类之间的关系
- c++ - Qt Creator 中 QPieSlice 的第一个参数没有从“QCharRef”到“QString”的可行转换
- reactjs - React Flow - 自定义连接器
- java - Android 默认登录活动等待改造 onResponse
- javascript - For Loop 未按预期工作,乘以 10
- go - 如何在 golang 中将 *redis.SliceCmd 转换为 []string?
- jquery - 如果只有第一个和最后一个具有特定班级的孩子,如何向父母添加班级
- python - 如何在 pandas 中的 Excel 文件的循环中追加
- javascript - 在 onClick 事件上传递密钥 - React