Task C# with Example



Task C# with Example

See below for a simple example of how to use a Task to do some time intensive stuff in a background process. 
All you need to do is wrap your time intensive method in a Task.Run() call. 
public void ProcessDataAsync() 
{ 
// Start the time intensive method 
Task t = Task.Run(() => TimeintensiveMethod(@"PATH_TO_SOME_FILE")); 
//  Control  returns  here  before  TimeintensiveMethod  returns 
Console.WriteLine("You can read this while TimeintensiveMethod is still running."); 
Console.WriteLine("Count: " + t.Result); 
} 
private int TimeintensiveMethod(object file) 
{ 
Console.WriteLine("Start TimeintensiveMethod."); 
//  Do  some  time  intensive  calculations... 
using (StreamReader reader = new StreamReader(file.ToString())) 
{ 
string s = reader.ReadToEnd(); 
for (int i = 0; i < 10000; i++) 
s.GetHashCode(); 
} 
Console.WriteLine("End TimeintensiveMethod."); 
// return something as a "result" 
return new Random().Next(100); 
} 
 

0 Comment's

Comment Form

Submit Comment