【发布时间】:2014-07-31 15:22:26
【问题描述】:
我的服务器中有一个异步方法,我希望始终在专用线程上运行(调用者不等待它,只是分派),而不是从 ThreadPool 中运行。我找到了一些单线程 SynchronizationContext 的实现,但它们似乎未经测试,我想使用更稳定的实现。
我找到了 Nito AsyncEx 的 AsyncContext,但我无法确定它是否可以在整个应用程序生命周期中在单个专用线程上运行。
有人知道 AsyncContext 是否符合我的要求吗?或者,您知道单线程 SynchronizationContext 的经过测试且稳定的实现吗?
【问题讨论】:
-
让代码在特定线程上运行需要解决producer-consumer problem。最简单的解决方案是线程安全队列,它带有一个从队列中检索作业的循环。 “工作”可以简单地是一个动作委托。
-
为什么需要单线程同步上下文?
标签: c# async-await synchronizationcontext