Explizite Multicore-Anwendungen in C#
Ist es einfach Weise explizit zu machen, eine bereits threaded-Anwendung, nutzen eine multicore-Umgebung? (wenn verfügbar).
Das erste problem wäre, wie kann ich feststellen, ob meine Laufzeit-Umgebung, unterstützt multi-core-Anwendungen?
Wenn ich dann feststellen, dass ich kann für die Verwendung von multi-core-Funktionalität, kann ich explizit zuweisen threads für die Ausführung auf unterschiedlichen Kernen? Wenn ja Ist der thread-Kommunikation erfolgt durch das OS/der Hardware oder muss ich, um meine Hände schmutzig?
InformationsquelleAutor TK. | 2008-10-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Ihre Anwendung ist bereits eingefädelt richtig, Sie nicht haben, etwas zu tun. Thread-Kontext Durchführung und Abwicklung wird für Sie erledigt.
Nun, wenn es um Gewindeschneiden, ist Ihre app-Gewinde in einer Weise zu nutzen, die Kerne? haben Sie Prozessor-intensive Aufgaben, aufgeteilt in separate threads. Wenn nicht, dann werden Sie brauchen, um änderungen an split bis Ihre Bearbeitung der Aufgaben in mehrere threads. Sie können Umgebung.ProcessorCount, um die core-Anzahl und machen so viele threads wie die entsprechende Laufzeit für Ihre Aufgaben.
Ab jetzt gibt es wirklich keine Möglichkeit, um ein falsch Gewinde-app(single-thread) in ein Gewinde-app nutzen alle Prozessoren/Kerne, es sei denn, Sie schauen, um zukünftige Technologien, wie plinq und Parallel FX
InformationsquelleAutor mattlant
Hi es gibt 2 Erweiterungen, die ich kennen
Parallelen C# - Homepage
Check-out Somasegars MSDN-blog auf MS-Juni CTP-Version für die parallele 3.5 Durchwahlnummern
MSDN
Die Bibliothek besteht aus den folgenden Komponenten:
InformationsquelleAutor
Derzeit können Sie die verfügbaren Prozessoren für eine gegebene Prozess mit Prozess.ProcessorAffinity, aber die konkrete Zuordnung der threads an bestimmte Prozessoren behandelt wird, unter der Haube implizit. Dies ist eigentlich eine gute Sache, die meisten der Zeit, als eine intelligente Laufzeitumgebung mit Echtzeit-performance-und load-balance-Informationen können in der Regel einen besseren job machen können als zu statisch-zumindest für die paar-core-Kontext mainstream-multicore arbeitet.
InformationsquelleAutor Matt J
Das ist das problem. Wie man einen threaded-Anwendung, wie Sie konvertieren Sie Ihre vorhandenen code. Ich möchte zu nutzen multi-core in C#. Allerdings ParallelFX ist immer noch beta. Ich werde nicht entwickeln eine beta.
Und, ich will nicht zu ändern Sie den code erneut (ich übersetzte meine apps von VB 6).
Heute erhielt ich einen newsletter von Packt Publishing kündigt ein neues Buch über die parallele Programmierung mit C#. C# 2008 and 2005 Threaded Programming. Ich denke, es konzentriert sich in die Dinge, die wir Bloggen über überall. Wie zu denken und zu entwickeln, eine threaded-Anwendung, ohne zu warten, für ein neues Wunder der Sprache. Es ist geil zu sehen Bücher ausschließlich über das Thema, weil wir haben voll von blogs über das. Der link ist http://www.packtpub.com/beginners-guide-for-C-sharp-2008-and-2005-threaded-programming/book
Ich denke, es verdient einen apportunity. Ich werde Sie wissen lassen, mein feedback, wenn ich es kaufen.
InformationsquelleAutor
Ohne sich in Einzelheiten (ich bin mir nicht sicher, wie viel Informationen an die öffentlichkeit noch nicht), die nächste version des .NET framework wird mehr hilfreiche mit dabei. Sie werden wahrscheinlich nicht wollen oder brauchen, um darüber nachzudenken, Verwaltung von threads von hand. Ich bin sicher, dass mehr Informationen werden der öffentlichkeit über diese nach PDC (Ende Oktober).
InformationsquelleAutor Nick