KEMBAR78
No More Deadlocks; Asynchronous Programming in .NET
Author. Blogger. Speaker. .NET MVP. Xamarin MVP. Geek.
Senior Software Engineer @
12:38
var task = Task.Run(() => {
Thread.Sleep(2000);
return "Hello World!";
});
task.ContinueWith((completedTask) => {
Dispatcher.Invoke(() => MyButton.Content = completedTask.Result);
});
Task.Delay(1).ContinueWith((t) => {
Dispatcher.Invoke(() => { });
}).Wait();
UsingAsyncandAwait
private async Task RunAsync()
{
var x = 10;
await Task.Delay(2000);
Debug.WriteLine(x);
}
private Task RunAsync()
{
<RunAsync>d__1 stateMachine = new <RunAsync>d__1 {
<>t__builder = AsyncTaskMethodBuilder.Create(),
<>1__state = -1
};
stateMachine.<>t__builder.Start<<RunAsync>d__1>(ref stateMachine);
return stateMachine.<>t__builder.Task;
}
Deadlockallthethings!
Author. Blogger. Speaker. .NET MVP. Xamarin MVP. Geek.
Senior Software Engineer @

No More Deadlocks; Asynchronous Programming in .NET