.NET Core是否存在类似 Dispatcher 的东西?
Does something like Dispatcher exist for .NET Core?
我需要在.NET中创建一个线程核心,并能够发送要在线程上调用的动作。另外,我希望能够使用 TaskScheduler 可以用于 async / await 的东西。
I need to create a thread in .NET Core, and be able to send actions to be invoked on the thread. Also, I'd like to be able to use a TaskScheduler that can be used for async/await stuff.
这是否存在?
推荐答案它不是内置的,但是我的 AsyncContext 和 AsyncContextThread 类型在满足您需求的库中可用。
It's not built-in, but my AsyncContext and AsyncContextThread types are available in a library that would fit your need.
AsyncContext 接管当前线程:
AsyncContext.Run(async () => { ... // any awaits in here resume on the same thread. }); // `Run` blocks until all async work is done.AsyncContextThread 是具有自己的独立线程 AsyncContext :
AsyncContextThread is a separate thread with its own AsyncContext:
using (var thread = new AsyncContextThread()) { // Queue work to the thread. thread.Factory.Run(async () => { ... // any awaits in here resume on the same thread. }); await thread.JoinAsync(); // or `thread.Join();` }AsyncContext 提供 SynchronizationContext 以及 TaskScheduler / TaskFactory 。
更多推荐
.NET分派器,用于.NET Core?
发布评论