Primul pas este să găsiți și să înțelegeți paralelismul în problema dvs. Este foarte ușor să scrieți coduri multi-filetate care nu funcționează mai bine decât codul cu un singur file pe care îl înlocuiește. "Modele pentru programare paralelă" (Amazon) este o introducere minunată la conceptele cheie.
Odată ce aveți un design funcțional, începeți să citiți articolele din subiectul "Concurrency" din arhivele MSDN Magazine (link) , în special nimic scris de Jeff Richter. Acestea vă vor oferi chestiile legate de piulițe și șuruburi pe structurile de filetare specifice Windows și .NET. (Secțiunea cu mai multe filete în "CLR via C# (Amazon) este scurtă, dar foarte insightful - foarte recomandat.)