Parallel Programming wird mit .Net 4.0 und Visual Studio deutlich einfacher, als auf anderen Plattformen mit den Parallels Extensions for .Net. Als Library verfuegbar bietet das Framework sowohl einen entsprechenden Ersatz fuer die Thread Klassen, als auch hoeherwertige API's. die es einem ermoeglichen z.B. foreach Schleifen zu ersetzen und jede Iteration einem Parallel Task zu uebergeben. Das sieht dann zum Beispiel so aus. Aus folgendem Code:
So wird dann aus foreach (var stock in stocks) mit Parallel Extensions for .Net Parallel.ForEach(var stock in stocks)
So einfach kann Multi Core Programming sein und die Geschwindigkeitssteigerungen, sind je nach Anzahl der verfuegbaren Core's betraechtlich. Um die darunterliegenden, komplexen Mechanismen hat man sich dadurch fast gar nicht mehr zu kuemmern. Die Integration geht sogar soweit, dass ein vollwertiger Ersatz fuer Linq in Form von PLinq zur Verfuegung steht.
Fehlen darf natuerlich auch nicht die entsprechende Unterstuetzung in Visual Stuidio, die mit Version 10 kommen wird und wirklich sehr schoen geloest ist. Musste man in der bisherigen Thread Programmierung, muehsam selber die entsprechenden Threads finden, die fuer einen Ablauf zustaendig sind, so hat man in Dev10 einen neuen View mit der Bezeichnung "Parallel Task Window" zur Verfuegung, der einem die Arbeit stark vereinfacht. Tasks die beendet sind, werden auch autom. entfernt, der Context ist immer sichtbar und auch das entsprechende Stack Window zeigt den Inhalt kontextbezogen an. Noch interessanter ist die grafische Darstellung der Tasks, die in einem weiteren View darueber Auskunft gibt, welcher Task welchen Methoden durchlaeuft oder welche Methoden gerade durch welche Tasks benutzt werden.
Schnellere CPU's wird es in Zukunft mmer weniger geben, die Grenze ist da erreicht. Deshalb kommen immer mehr Core's zum Einsatz, so dass das Wissen um Parallel Programming fuer jeden Entwickler in Zukunft existentiell sein wird. Also nichts wie ran an die Materie, die Dev10 CTP enthaelt alles, was es braucht um in die Materie einzusteigen.
Link zur PDC Praesentation.