La programmazione parallela nel framework 3.5 era possibile fino a un po’ di tempo fa con una CTP apposita. Poi si disse che le estensioni parallele erano disponibili solo su .Net 4. Invece si posso ritrovare le stesse estensioni anche in 3.5. Infatti le ho ritrovate dentro Rx: Reactive Extensions to .NET. Rx è una libreria per la creazione di programmi asincroni e basati su eventi utilizzando delle observable collection. Rx l’ho scoperto guardando le sessioni del PDC. Sono rimasto impressionato dalla potenza espressiva dei costrutti messi a disposizione. Ma dentro Rx è stato inserito Px esattamente come è disponibile in .Net 4.
Basta inserire nel programma un riferimento alla dll System.Threading.dll ovviamente dopo aver installato Rx. Questo è un passo che non si deve fare in .Net 4 poichè è già presente nei componenti del CLR. Ci possono essere differenze nelle prestazioni a favore di .Net 4 poichè quest’ultimo si avvantaggia delle migliorie apportate al ThreadPool
Altra risorsa per Px è il blog Parallel Programming with .NET
Mentre chi fosse interessato a delle best practices per sviluppare usando dei pattern paralleli c’è il documento Patterns for Parallel Programming