【发布时间】:2010-08-13 22:26:08
【问题描述】:
有没有办法让委托在特定线程上运行?
说我有:
CustomDelegate del = someObject.someFunction;
Thread dedicatedThread = ThreadList[x];
我能否拥有一个一致的后台长时间运行线程,并在需要时调用我自己的委托。每次都必须是同一个线程。
[编辑]
我希望它在专用线程上的原因是时间是我打算在其上运行委托并在y 毫秒后暂停线程,并在我在其上运行另一个委托时恢复线程。我看这是不可能的。我将有一个委托队列,并让线程的主要功能从中读取和运行。
用一个具体的例子来说明,我有一个包含一堆玩家线程的游戏系统。我希望每个玩家线程在其上运行游戏事件的事件处理程序。如果事件处理程序花费太多时间,我希望能够通过暂停其线程来暂停该特定播放器直到下一个事件。
因此有了一个可以运行多个事件处理程序的专用线程,我可以暂停特定玩家的 AI,以防它出现错误或耗时过长。
【问题讨论】:
标签: c# multithreading delegates