我想知道是否有人熟悉用户模式下的同步机制,应用程序可以通过该机制注册一个“回调”函数,当另一个应用程序发出信号时将调用该函数...... 我不介意回调在任意线程中.
假设我有很多并行的“工人”进程,并且想要通知他们发生了变化(不需要有效载荷的数据),每个进程都必须进行一些内部更新。
解决这个问题的直接方法是在每个线程中创建另一个线程,并有一个无限循环等待全局事件并在之后立即调用回调函数。为了发出这个信号,一个进程只需要发出这个全局事件的信号。
问题是我在这个项目中会有很多并行进程,我不想为了实现这个而将 thread*nProcesses 添加到系统中,即使它们大部分都被暂停了。
我为此找到的当前“解决方法”是保留我自己的“虚拟”注册表项,并且每个进程都将“注册注册通知回调”,当一个应用程序想要通知其他应用程序时,它只会触发对该键的写入。 .. 并且 windows 将回调注册到此通知的每个进程。
还有其他想法吗?