跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • windows 平台 c++如何简单安全的实现多进程多线程读写同一个文件
未分類
12 4 月 2021

windows 平台 c++如何简单安全的实现多进程多线程读写同一个文件

windows 平台 c++如何简单安全的实现多进程多线程读写同一个文件

資深大佬 : xingge 1

大家好,请教一下各位大佬 多进程多线程同时读写同一个 json 配置文件 怎么样才能既简单又安全的读写,保证读写成功,配置文件不丢失不错乱 或者有这方面的轮子吗?谢谢

大佬有話說 (12)

  • 資深大佬 : ysc3839

    把文件当成同步对象使用
    https://devblogs.microsoft.com/oldnewthing/20140905-00/?p=63

  • 資深大佬 : h82258652

    1 的方法没试过,我倒是想到可以用 Mutex 做,但好像性能一般般。

  • 資深大佬 : zhuangzhuang1988

    命名内核对象就可以了

  • 資深大佬 : Jirajine

    1. 加锁,没什么好说的。
    2. 用一个专门的 worker 进程 /线程管理,其他进程 /线程把操作(增删改查)通过队列发给该进程 /线程由其进行实际操作。

  • 資深大佬 : mogg

    最简单的思路是内存里管这个配置对象,启动时导入,然后用一个专门的线程去把这个对象存到 JSON 文件里

  • 資深大佬 : raaaaaar

    直接扔数据库里得了,配置文件读写也不会太频繁吧

  • 主 資深大佬 : xingge

    谢谢大家

  • 資深大佬 : JerryV2

    Slim 读 /写锁专门干这个的,了解一下

  • 資深大佬 : goobai

    读不存在,主要是写吧! c#有个进程锁 mutex

  • 資深大佬 : magicfuzzx

    BOOL LockFile(
    HANDLE hFile,
    DWORD dwFileOffsetLow,
    DWORD dwFileOffsetHigh,
    DWORD nNumberOfBytesToLockLow,
    DWORD nNumberOfBytesToLockHigh
    );

  • 資深大佬 : pkupyx

    如果想要一只以 rw open 然后多人读写,把这个文件读写模块封装一下,对外暴露同步写接口,量大还能整个 buffer 异步。然后通过业务逻辑保证不把配置写错乱。

  • 資深大佬 : nvioue

    你先说一下为什么要多进程多线程读写同一个文件?????? 我做后台的, 从来不会让多个 server 同时去连 db 的..

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具