2

QueueUserAPC最接近的 .NET 替代方案是什么?我应该为此使用SynchronizationContext.Post吗?

4

1 回答 1

1

现代 .NET 试图抽象出原始线程,并用更高级别的库(例如任务并行库 (TPL) 或响应式扩展)替换。

我不确定在 .NET 中是否存在线程的“警报”状态,就像您可以通过 获得的那样SleepEx,但您始终可以使用 TPL 在进程线程池中对工作项进行排队。

Task.Start( () => { /* do work * });

如果您在那里执行某种异步 IO 操作,这将特别有效,这将允许同一线程被重用于运行另一个排队任务,而您的原始任务正在执行异步操作。

于 2015-02-16T20:02:21.527 回答