如何异步调用方法,但在特定的线程上?

时间:2013-01-09 16:22:09

标签: c# multithreading

从线程AI希望异步调用MethodA()(这样它不会阻塞线程A)在线程B上运行我已启动的特定线程,这样它就会中断线程B正在做的事情。

这是否可以在不必主动轮询线程B中的MethodA()呼叫请求的情况下进行?

编辑:更具体地说,我希望所有对MethodA()的调用都在线程B上。

编辑2:两个线程都不是UI线程。虽然我知道线程B正在运行,但如果它不是/不抛出异常,那么能够返回false会很好。

1 个答案:

答案 0 :(得分:3)

如果没有创建Thread B worker的特定实现,这是不可能的。 线程B工作者应该像无限循环或其他信令机制,如EventWaitHandle。在循环的每次迭代中,线程B工作者应该检查一些代理队列,这些队列可以由另一个线程填充。