【发布时间】:2012-10-08 06:43:56
【问题描述】:
我正在使用 Win32 的 WinRT 端口,但我遇到了线程和消息 (vc++11) 的问题。我只能在 WinRT 中使用线程池或 std::thread ...所以我实现了 std::thread,它似乎可以正常工作,但我该如何在它们之间进行通信线程?是否有其他选择(如 PostMessage() 等)?在 Android 端口中,我们可以使用管道,但在 winrt 中没有任何内容:(
谢谢
【问题讨论】:
-
您混淆了线程和进程的概念。管道仅用于进程之间的通信,在 WinRT 中是不允许的。线程只需要一个线程安全队列。
-
@HansPassant:不是这样。
PostMessage()用于两者。并且线程安全队列是不够的,你仍然需要一些东西来通知线程(当然,是答案)。 -
PostMessage() 只是一种使用线程安全队列的方法。 Windows 消息队列。相当受限,最重要的是,在 WinRT 中不可用。
标签: c++ visual-c++ windows-8 windows-runtime ipc