Win32 PostMessage和现代c ++

时间:2016-04-13 12:16:39

标签: c++ winapi asynchronous

我们目前有一些代码严重依赖于以下模式:

  1. UI线程需要完成工作
  2. UI线程启动执行TaskA的线程
  3. 工作线程调用PostMessage(XXXXX_TASKA),lparam和wparam特定于TaskA
  4. 这意味着对于每个“异步”调用,我们需要创建另一个XXXX_TASKA,然后添加一个知道如何解释lparam和wparam的处理程序。看起来像lambdas应该有更好的方法来做到这一点。我正在考虑创建一个Task类,它包含一个lambda用于continuation,然后通过PostMessage接口将其用于所有异步回调。即XXXXX_TASK_COMPLETE将是我们发送的唯一消息,并且处理程序将始终假定lparam是指向Task的指针,并且只是调用lambda。

    这样的预先存在的解决方案的任何想法? 有更好的方法吗?

0 个答案:

没有答案