c# - 单线程同步上下文

标签 c# async-await synchronizationcontext

我的服务器中有一个异步方法,我希望始终在专用线程上运行(调用者不等待它,只是调度),而不是从线程池运行。我找到了一些单线程 SynchronizationContext 的实现,但它们似乎未经测试,我想使用更稳定的实现。

我找到了 Nito AsyncEx 的 AsyncContext ,但我无法弄清楚它是否可以在整个应用程序生命周期中在单个专用线程上运行。

有谁知道 AsyncContext 是否可以满足我的要求?或者,您知道单线程 SynchronizationContext 的经过测试且稳定的实现吗?

最佳答案

您不需要同步上下文 - 有一个任务调度程序可以完全满足您的需要 - ConcurrentExclusiveSchedulerPair

基本上,您会将所有任务调度到该对中的独占调度程序,并且它将在单独的线程中按顺序处理。

关于c# - 单线程同步上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25062868/

相关文章:

c# - 在另一个线程上捕获异常?

c# - 异步方法中的信号量等待与 WaitAsync

c# - 如何在 Xamarin Forms 上刷新或召回页面

C#,如何将字节数组减半?

c# - 如何根据 C# 中的搜索条件合并 csv 文件中的多行?

javascript - 等待mapstate中的数据完成加载

c# - 如何等待自定义数据流 block 完成?

python - 在异步收集中捕获异常

c# - 复杂对象和模型绑定(bind)器 ASP.NET MVC

c# - 如何在 MonoTouch 中使用 async/await 忽略未观察到的异常?