【发布时间】:2018-08-08 21:50:24
【问题描述】:
我的目标是开发可以在进程之间共享的健壮、连贯和持久的数据库,只需列出 Windows 注册表。
在上一个问题上,由于以下原因,我建议不要使用 CFPreferences(和 NSUserDefaults)
当前版本的 macOS 有很大的困难,有时甚至完全拒绝用第二个进程设置的值更新一个进程中的值。
另外,我建议使用以下方法:
让一个进程负责所有共享值,而其他进程通过 XPC 获取/设置这些值。
XPC 对我来说很新,但从我目前所读的内容来看,它似乎对每个连接都使用 GCD 队列,所以如果有多个进程要求访问 R/ 的同一个数据库,我该如何保持一致性W 操作(如何强制单线程执行所有队列中的项目)。
此外,我想让这个数据库满足 ACID 要求,我该如何实现?
【问题讨论】:
标签: objective-c database macos cocoa preference