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#中为此目的找到合适的函数,那将是很棒的
以下是C# MVP Nicholas Paldino的建议:
如果您要发布到线程,而不是特定窗口,那么您必须有一些实现 IMessageFilter 接口的东西,然后将该实现传递给 Application 类上的静态 AddMessageFilter 方法,以便它可以处理进入线程。
从另一个线程,您必须通过 P/Invoke 层使用 PostThreadMessage API 方法。