Parallel processing with C#

http://www.parallelcsharp.com/

Asynchronous Versus Parallel Programming
http://www.peter-urda.com/2010/10/asynchronous-versus-parallel-programming

 

Tools And Techniques To Identify Concurrency Issues
https://msdn.microsoft.com/en-us/cc546569.aspx

Concurrency on MSDN
http://msdn.microsoft.com/concurrency

Parallel Programming in the .NET Framework
https://msdn.microsoft.com/en-us/library/dd460693.aspx
books:
ConcurrentProgramming on Windows, by Joe Duffy, Addison-Wesley
Win32 Multithreaded Programming, by A. Chohen and M. Woodring

 

 

Asynchronous & Parallel programming are tricky to understand for new programmers
“Asynchronous Programming: Asynchronous programming is a paradigm of programming that is principally single threaded, i.e. “following one thread of continuous execution”.

As we can see though A,B,C events are taking place simultaneously, B & C have no way of knowing when the thing’s in A going to complete

|—-A—–|
…..|—–B——-|
……….|——-C——|
Parallel Programming: Parallel programming is a paradigm of programming that is principally multiple threaded, i.e. “following many threads of many concurrent execution”.

Here A, B, C all tasks take place simultaneously, B and C does not wait because all are different tasks and all the take place at a time (i.e. A, B and C are handled by three different threads)

|—–A—–|
|—–B—–|
|—–C—–|”
http://stackoverflow.com/questions/6133574/how-to-articulate-the-difference-between-asynchronous-and-parallel-programming