. Net Dispatcher, for.NET núcleo?
Existe algo como {[[0]} para o núcleo. net?
Eu preciso criar um thread no núcleo. NET, e ser capaz de enviar ações para serem invocadas no thread. Além disso, eu gostaria de ser capaz de usar um TaskScheduler
que pode ser usado para async/await
coisas.
2
Author: Paul Knopf, 2017-01-19
1 answers
Não está incorporada, mas a minha ...
AsyncContext
e AsyncContextThread
os tipos estão disponíveis numa biblioteca que se adaptaria às suas necessidades.
AsyncContext
assume o tópico actual:
AsyncContext.Run(async () =>
{
... // any awaits in here resume on the same thread.
});
// `Run` blocks until all async work is done.
AsyncContextThread
é um fio separado com o seu próprio 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
fornece um SynchronizationContext
, bem como um TaskScheduler
/TaskFactory
.
1
Author: Stephen Cleary, 2017-01-20 15:24:31