Click here to Skip to main content
15,908,445 members
Home / Discussions / C#
   

C#

 
GeneralRe: Creating An Async Method Pin
Richard Deeming8-Oct-21 6:35
mveRichard Deeming8-Oct-21 6:35 
That method isn't async; it blocks the caller, and then returns a result wrapped in a Task<T> instance.

If you make it async, you can use await Task.Delay(5000); instead of Thread.Sleep(5000);, and the caller will be able to continue after the loop has finished.

To let the caller continue before the loop has finished, you'd need to yield control before starting the loop.
C#
private static async Task<int> GetSomeData()
{
    await Task.Yield();
    
    int x = 0;
    for (; x < 900_000_000; x++)
    {
    }
    
    await Task.Delay(5000);
    return x;
}

A Tour of Task, Part 10: Promise Tasks[^]



"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer

GeneralRe: Creating An Async Method Pin
Kevin Marois8-Oct-21 6:38
professionalKevin Marois8-Oct-21 6:38 
GeneralRe: Creating An Async Method Pin
Kevin Marois8-Oct-21 9:46
professionalKevin Marois8-Oct-21 9:46 
GeneralRe: Creating An Async Method Pin
lmoelleb9-Oct-21 0:18
lmoelleb9-Oct-21 0:18 
GeneralRe: Creating An Async Method Pin
Kevin Marois9-Oct-21 7:03
professionalKevin Marois9-Oct-21 7:03 
GeneralRe: Creating An Async Method Pin
lmoelleb10-Oct-21 8:56
lmoelleb10-Oct-21 8:56 
Question(xaml, wpf) ScrollViewer Binding confusion (beginner) (ANSWERED) Pin
Maximilien6-Oct-21 9:50
Maximilien6-Oct-21 9:50 
SuggestionRe: (xaml, wpf) ScrollViewer Binding confusion (beginner) Pin
Richard MacCutchan6-Oct-21 21:30
mveRichard MacCutchan6-Oct-21 21:30 
GeneralRe: (xaml, wpf) ScrollViewer Binding confusion (beginner) Pin
Maximilien7-Oct-21 3:49
Maximilien7-Oct-21 3:49 
AnswerRe: (xaml, wpf) ScrollViewer Binding confusion (beginner) Pin
Richard Deeming6-Oct-21 21:45
mveRichard Deeming6-Oct-21 21:45 
GeneralRe: (xaml, wpf) ScrollViewer Binding confusion (beginner) Pin
Maximilien8-Oct-21 3:03
Maximilien8-Oct-21 3:03 
QuestionCan't catch NullReferenceException while explicitly defined for that Pin
Exoskeletor1-Oct-21 23:03
Exoskeletor1-Oct-21 23:03 
AnswerRe: Can't catch NullReferenceException while explicitly defined for that Pin
Pete O'Hanlon1-Oct-21 23:38
mvePete O'Hanlon1-Oct-21 23:38 
AnswerRe: Can't catch NullReferenceException while explicitly defined for that Pin
OriginalGriff2-Oct-21 0:33
mveOriginalGriff2-Oct-21 0:33 
JokeRe: Can't catch NullReferenceException while explicitly defined for that Pin
Pete O'Hanlon2-Oct-21 1:32
mvePete O'Hanlon2-Oct-21 1:32 
GeneralRe: Can't catch NullReferenceException while explicitly defined for that Pin
OriginalGriff2-Oct-21 2:14
mveOriginalGriff2-Oct-21 2:14 
GeneralRe: Can't catch NullReferenceException while explicitly defined for that Pin
Exoskeletor2-Oct-21 3:01
Exoskeletor2-Oct-21 3:01 
GeneralRe: Can't catch NullReferenceException while explicitly defined for that Pin
Pete O'Hanlon2-Oct-21 3:51
mvePete O'Hanlon2-Oct-21 3:51 
GeneralRe: Can't catch NullReferenceException while explicitly defined for that Pin
OriginalGriff2-Oct-21 3:55
mveOriginalGriff2-Oct-21 3:55 
GeneralRe: Can't catch NullReferenceException while explicitly defined for that Pin
Exoskeletor2-Oct-21 3:58
Exoskeletor2-Oct-21 3:58 
GeneralRe: Can't catch NullReferenceException while explicitly defined for that Pin
Exoskeletor2-Oct-21 2:58
Exoskeletor2-Oct-21 2:58 
AnswerRe: Can't catch NullReferenceException while explicitly defined for that Pin
Pete O'Hanlon3-Oct-21 20:22
mvePete O'Hanlon3-Oct-21 20:22 
GeneralRe: Can't catch NullReferenceException while explicitly defined for that Pin
Exoskeletor4-Oct-21 0:21
Exoskeletor4-Oct-21 0:21 
Questionhow read file from Open with in C# Pin
Member 1522978130-Sep-21 6:24
Member 1522978130-Sep-21 6:24 
AnswerRe: how read file from Open with in C# Pin
Dave Kreskowiak30-Sep-21 8:08
mveDave Kreskowiak30-Sep-21 8:08 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.