C#threads - 在线程之间发送消息

Har*_*sha 5 c# mfc multithreading

我正在开发一个项目,它涉及重用以及将一些现有的MFC代码迁移到C#.

MFC中的当前代码创建一些线程并使用:: PostthreadeMessage()和ON_THREAD_MESSAGE(msg,func)通过消息进行线程间异步通信.

:: PostthreadeMessage() - >向特定的线程ID发送消息.ON_THREAD_MESSAGE(msg,func) - >在收到消息(msg)时调用函数(func).

由于我不太了解C#中的线程接口,我试图在C#中搜索类似的API,但无法找到任何.

如果有人可以帮助我在C#中为此目的找到合适的函数,那将是很棒的

Mit*_*eat 1

以下是C# MVP Nicholas Paldino的建议:

如果您要发布到线程,而不是特定窗口,那么您必须有一些实现 IMessageFilter 接口的东西,然后将该实现传递给 Application 类上的静态 AddMessageFilter 方法,以便它可以处理进入线程。

从另一个线程,您必须通过 P/Invoke 层使用 PostThreadMessage API 方法。