async: It is used to specify a method, lambda expression, or anonymous method to be asynchronous, that execute in the background.
https://msdn.microsoft.com/en-us/library/hh156513.aspx
await: this operator is applied to a task in an asynchronous method to suspend the execution of the method until the awaited task completes.
https://msdn.microsoft.com/en-us/library/hh156528.aspx
https://msdn.microsoft.com/en-us/library/hh156513.aspx
await: this operator is applied to a task in an asynchronous method to suspend the execution of the method until the awaited task completes.
https://msdn.microsoft.com/en-us/library/hh156528.aspx
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace async_await_console_application_Csharp
{
class Program
{
void task1()
{
Console.WriteLine("task 1 completed" );
}
async void task2async()
{
var result = await Task.Run(() => task2());
}
bool task2()
{
Console.WriteLine("task 2 started");
System.Threading.Thread.Sleep(2000);
Console.WriteLine("task 2 completed");
return true;
}
void task3()
{
Console.WriteLine("task 3 complete");
}
async Task task4async()
{
var result = await Task.Run(() => {
Console.WriteLine("task 4 started");
Console.WriteLine("task 4 Completed");
return true;
});
return result;
}
static void Main(string[] args)
{
Program p = new Program();
p.task1();
p.task2async();
p.task3();
Task.Run(() => p.task4async());
Console.Read();
}
//We can not use async modifier with Main method in console application C#. it will give us build failed without any reason.
//static async void Main(string[] args)
//{
// Program p = new async_await.Program();
// p.task1();
// p.task2async();
// p.task3();
// var a = await p.task4async();
// Console.Read();
//}
}
}
