大家好,请教一下各位大佬 多进程多线程同时读写同一个 json 配置文件 怎么样才能既简单又安全的读写,保证读写成功,配置文件不丢失不错乱 或者有这方面的轮子吗?谢谢😉
大家好,请教一下各位大佬 多进程多线程同时读写同一个 json 配置文件 怎么样才能既简单又安全的读写,保证读写成功,配置文件不丢失不错乱 或者有这方面的轮子吗?谢谢😉
|
ysc3839Apr 12, 2021
1
|
|
h82258652Apr 12, 2021
2
1 楼的方法没试过,我倒是想到可以用 Mutex 做,但好像性能一般般。
|
|
zhuangzhuang1988Apr 12, 2021
3
命名内核对象就可以了
|
|
JirajineApr 12, 2021 via Android
4
1. 加锁,没什么好说的。
2. 用一个专门的 worker 进程 /线程管理,其他进程 /线程把操作(增删改查)通过队列发给该进程 /线程由其进行实际操作。 |
|
moggApr 12, 2021
5
最简单的思路是内存里管这个配置对象,启动时导入,然后用一个专门的线程去把这个对象存到 JSON 文件里
|
|
raaaaaarApr 12, 2021 via Android
6
直接扔数据库里得了,配置文件读写也不会太频繁吧
|
|
7
谢谢大家
|
|
JerryV2Apr 13, 2021
8
Slim 读 /写锁专门干这个的,了解一下
|
|
goobaiApr 13, 2021 via Android
9
读不存在,主要是写吧! c#有个进程锁 mutex
|
|
magicfuzzxApr 13, 2021
10
BOOL LockFile(
HANDLE hFile, DWORD dwFileOffsetLow, DWORD dwFileOffsetHigh, DWORD nNumberOfBytesToLockLow, DWORD nNumberOfBytesToLockHigh ); |
|
pkupyxApr 13, 2021
11
如果想要一只以 rw open 然后多人读写,把这个文件读写模块封装一下,对外暴露同步写接口,量大还能整个 buffer 异步。然后通过业务逻辑保证不把配置写错乱。
|
|
nvioueApr 13, 2021
12
你先说一下为什么要多进程多线程读写同一个文件?????? 我做后台的, 从来不会让多个 server 同时去连 db 的..
|