Hallo,
ist Async Await für den synchronen Ablauf von paralellem Code ungeeignet?
Irgendwie tu ich mich da schwer. Denn man kommt wenn man einmal drin ist im Async Await Pattern, ja nicht mehr auf einen synchronen Ablauf danach wenn man nicht alles Async macht.
Damit End wirklich nach HeavyWork kommt muss HeavyWork selbst Awaited werden. Das ist in dem Beispiel natürlich nicht möglich.
Viele Grüße
ist Async Await für den synchronen Ablauf von paralellem Code ungeeignet?
Irgendwie tu ich mich da schwer. Denn man kommt wenn man einmal drin ist im Async Await Pattern, ja nicht mehr auf einen synchronen Ablauf danach wenn man nicht alles Async macht.
VB.NET-Quellcode
- Module Program
- Sub Main()
- Threading.Thread.Sleep(1000)
- Console.WriteLine("Start")
- HeavyWork()
- Console.WriteLine("End")
- End Sub
- Private Async Sub HeavyWork()
- Await Task.Run(AddressOf HeavyWork1)
- Await Task.Run(AddressOf HeavyWork2)
- End Sub
- Private Sub HeavyWork1()
- Threading.Thread.Sleep(1000)
- End Sub
- Private Sub HeavyWork2()
- Threading.Thread.Sleep(1000)
- End Sub
- End Module
Damit End wirklich nach HeavyWork kommt muss HeavyWork selbst Awaited werden. Das ist in dem Beispiel natürlich nicht möglich.
Viele Grüße