gpt4 book ai didi

c - Windows 中是否有一种机制类似于 Linux 中的消息队列?

转载 作者:可可西里 更新时间:2023-11-01 14:51:53 29 4
gpt4 key购买 nike

最近,我得到一份工作(C/C++),在Windows中使用不同线程之间的消息通信。我用 Google 搜索发现 Windows 也有一个消息队列,但它与窗口更相关,实际上,我的应用程序中不需要任何窗口。

就像Linux中的消息队列一样,每个线程创建一个消息队列,并得到一个消息队列ID,向该ID发送消息,从该ID接收消息等等,这就是我需要的消息队列。

Windows 中有类似的机制吗?

最佳答案

在 Windows 上您不需要窗口来使用消息,任何调用 PeekMessage 或 GetMessage 的线程都会获得一个消息队列,您可以使用 PostThreadMessage 向其发送消息。 .

消息在同一个进程中应该可以正常工作,但是如果这是跨进程的并且您需要发送超过 size_t*2 的消息,您应该查看其他 IPC mechanisms或使用共享内存和某种类型的锁定构建您自己的。 Windows 也有 MSMQ .

您没有指定是否需要确切的 POSIX 接口(interface),无论哪种方式,维基百科都有一个 list开源替代品...

关于c - Windows 中是否有一种机制类似于 Linux 中的消息队列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10989702/

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