Also in .net 4.5 war MS ja so freundlich, das ganze mit den Threads zu vereinfachen (deren Meinung auf ihren Artikeln, was neu hinzugekommen ist in 4.5)
Jetzt versuchte ich erstmal eine kleine Pause in eine Methode zu integrieren. Ohne, dass der UI-Thread blockiert wird.
Da haben sie ihr Wort auch gehalten:
Doch jetzt wollte ich dieses Feature für eine eigene Methode versuchen, das blockiert jedoch ohne jede Scham:
(Einfach nur eine Schleife, die sehr lange einen Integer hochzählt)
Was habe ich jetzt daran falsch verstanden? Also mein Ziel ist, dass ich eine blockierende Methode (wie die mit der Schleife) aufrufen kann, ohne, dass mein Programm blockiert wird...
Jetzt versuchte ich erstmal eine kleine Pause in eine Methode zu integrieren. Ohne, dass der UI-Thread blockiert wird.
Da haben sie ihr Wort auch gehalten:
Doch jetzt wollte ich dieses Feature für eine eigene Methode versuchen, das blockiert jedoch ohne jede Scham:
(Einfach nur eine Schleife, die sehr lange einen Integer hochzählt)
VB.NET-Quellcode
- private async void button1_Click(object sender, EventArgs e)
- { //Das ist die Methode vom Button, den ich zum aufrufen drücke
- bool Ergebnis = await Hochrechnen();
- MessageBox.Show(Ergebnis.ToString());
- }
- public async Task<bool> Hochrechnen()
- {
- Int32 Wert = 0;
- //Während dieser Schleife kann man im Programm nichts mehr machen
- for (int i = 0; i < 2147000000; i++)
- {
- Wert += 1;
- }
- return await Task.FromResult<bool>(true);
- }
Was habe ich jetzt daran falsch verstanden? Also mein Ziel ist, dass ich eine blockierende Methode (wie die mit der Schleife) aufrufen kann, ohne, dass mein Programm blockiert wird...