Difference between Asynchronous and Parallel Programming

Most of the peoples are confusing with Async and Parallel programming, what it is? What is Motivation behind this etc..?
Why Asynchronous ?
With today’s application’s growing more and more connected and also potentially
long running tasks or blocking operations such as Network I/O or Database Operations.So it’s very important to hide the latency of these operations by starting them in background and returning back to the user interface quickly as possible. Here Asynchronous come in to the picture, Responsiveness
Async
Why parallel programming?
With today’s data sets growing larger and computations growing more complex. So it’s very important to reduce the execution time of these CPU-bound operations, in this case, by dividing the workload into chunks and then executing those chunks simultaneously. We can call this as “Parallel” .
Obviously it will give high performance to our application.
Parallel

Enjoy Programming…

How C#5 “await” works?

Let’s we have the following method that’s contain await keyword. The way the compiler will rewrite this its take the first half (marked as red), it’s splitting your method in to halfway see’s the await keyword and identifying first half of the code and second half will be the following code (marked it as green).
1
And then rewrites in to the following
2
In this first half of the code running synchronously in your method and the second half inside the continue with callback. If you are not in C#5 you can write code like that.