gpt4 book ai didi

c - 向线程发送消息是什么意思?

转载 作者:太空狗 更新时间:2023-10-29 15:38:13 26 4
gpt4 key购买 nike

我正在学习线程。我需要了解线程之间如何通信,那么当我们说“让 Thread AThread B 发送消息”时,这意味着什么?

我可以想到以下几点:

  • Thread B 阻塞在某种队列上,Thread A 放置了一个新的队列此队列中的条目,这会导致 Thread B 解除阻塞,并检索此条目。
  • Thread B 正在阻塞一个事件(例如,在 Windows API 中有是Event object ), Thread A 发出这个事件的信号导致 Thread B 唤醒(或者这称为通知线程和没有向它发送消息?)

最佳答案

由于来自不同环境的不同命名法,“线程”世界存在许多歧义,有时使用相同的词来表示不同的事物。

您的第一个断言在非常笼统的术语中是有意义的:“消息”是使线程唤醒并获得一些“输入”的原因。

根据操作系统及其自身的 API,您的第二个断言是有意义的,只不过是使用 Win32 API 实现第一个断言的一种方式。

另一种可能的解释是线程在消息循环中被阻塞(参见 GetMessage ),而另一个调用 PostThreadMessage .

用更一般的术语来说,您可以将“消息”视为带有“状态”的“事件”:事件只是简单地发生(这就是它提供的所有信息)。一条消息“发生”,并且有一些与之关联的参数。

关于c - 向线程发送消息是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29634583/

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