Windows是否提供可以放置在内存映射文件中并在多个进程中使用的任何类型的互斥锁?理想情况下,它必须完全自包含,以便它可以在文件中自行存活,即使在重新启动时也是如此.此外,如果我只是在没有进程运行的情况下手动删...

Windows是否提供可以放置在内存映射文件中并在多个进程中使用的任何类型的互斥锁?
理想情况下,它必须完全自包含,以便它可以在文件中自行存活,即使在重新启动时也是如此.
此外,如果我只是在没有进程运行的情况下手动删除文件,则不应泄漏任何资源.
如果可能,解决方案还应提供附带的“条件”概念,该概念也应该是可以位于共享内存映射文件中的对象.
简而言之,我需要类似于具有SHARED属性的PTHREADS互斥锁.
据我所知,仅使用PTHREADS互斥锁是不可能的,因为在PTHREADS的Windows端口中不支持SHARED属性.
解决方法:
要共享同步对象,请在创建对象时为其指定名称并在每个进程中使用相同的名称.
以下同步对象可以在进程之间共享:
> Mutex
> Semaphore
> Event
Critical sections无法共享,但速度更快.
使用wait函数系列(通常是WaitForMultipleObjects)来测试或等待这些对象.
本文标题为:将互斥锁放在C/C++中的窗口上的内存映射文件中


- C++ 数据结构超详细讲解顺序表 2023-03-25
- ubuntu下C/C++获取剩余内存 2023-09-18
- 我应该为我的项目使用相对包含路径,还是将包含目录放在包含路径上? 2022-10-30
- Easyx实现扫雷游戏 2023-02-06
- c++ const 成员函数,返回一个 const 指针.但是返回的指针是什么类型的 const? 2022-10-11
- 详解C语言中sizeof如何在自定义函数中正常工作 2023-04-09
- C语言手把手带你掌握带头双向循环链表 2023-04-03
- C语言qsort()函数的使用方法详解 2023-04-26
- Qt计时器使用方法详解 2023-05-30
- C语言详解float类型在内存中的存储方式 2023-03-27