gpt4 book ai didi

windows - Windows 中的进程间同步屏障

转载 作者:可可西里 更新时间:2023-11-01 11:36:42 25 4
gpt4 key购买 nike

我试图在 Windows 中的不同进程之间建立一个屏障。它们本质上是同一进程的两个副本(将它们作为两个单独的线程而不是进程运行不是一种选择)。这个想法是在程序的不同阶段设置障碍,以确保两个过程同时开始每个阶段。在 Windows 中实现此功能的最有效方法是什么?

最佳答案

使用命名事件(参见 CreateEvent 和 WaitForSingleObject API 函数)。每个屏障需要两个事件——每个事件都在应用程序的另一个实例中创建。然后两个实例等待对方的事件。当然,这些事件以后可以重新用于另一个障碍。

但是存在一种复杂性——由于事件名称是全局唯一的(为简单起见,我们这么说),每个事件都有不同的名称,可能以实例的进程 ID 为前缀。因此,应用程序的每个实例都必须获取另一个实例的 ID,才能找到另一个实例创建的事件的名称。

如果您有一个窗口应用程序,您可以广播一条消息,通知应用程序的第二个实例第一个实例的存在。

关于windows - Windows 中的进程间同步屏障,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9629297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com