【发布时间】:2014-02-06 12:38:55
【问题描述】:
我使用 QueueUserAPC() 函数将异步过程调用添加到线程的 APC 队列中。
假设我已将 10 次调用排队到一个线程,并且在线程进入 SleepEx() 后执行其中一个调用时,出于某种原因,我决定不执行下一个 APC。我对这个问题的原始和简单的解决方案是使用 if 块检查全局变量来包装所有调用,并仅在设置(或未设置)此条件变量时执行该块。
有没有更好的方法来做到这一点?我可以丢弃一个线程的 APC 队列,这样队列中的其他调用就不会被调用吗?
【问题讨论】:
标签: winapi asynchronous wait apc