Ich habe eine rechenintensive Aufgabe, die Benutzer mit einer Silverlight-App ausführen können. Es ist eine sehr einfache Aufgabe, zu parallelisieren.Silverlight: Wie erhält man ProcessorCount?
Mein Problem ist, dass die System.Environment.ProcessorCount Security Critical ist, also kann ich das nicht einfach überprüfen.
Ich möchte nicht nur QueueUserWorkItem, weil ich nicht mehr als die Anzahl der Prozessoren ausführen wollen - das wird nicht helfen.
Eine Abhilfe ist hier beschrieben: http://www.codeproject.com/KB/silverlight/multicore.aspx
Aber es ist ein bisschen hackish, und es wäre ein bisschen Arbeit, um es für 4 oder 8 Fadensysteme maßen zuverlässig zu machen.
Was ist der "richtige" Weg, dies zu lösen? Oder lässt Silverlight dich hier einfach nicht glücklich sein?
Wird es viel schaden, es einfach zu codieren, um auf 4 Kernen zu laufen? Der Aufwand für ein einzelnes Kernsystem wird meiner Erfahrung nach nicht so schlecht sein. – Chris
Ich werde versuchen, es zu Benchmarking und sehen, wie viel es weh tut. Jede Aufgabe hat 1 oder 2 MB an Daten, und wenn ich also mehr Threads laufen lasse, denke ich, dass ich neben dem Overhead auch Cache-Probleme haben werde. – MichaelGG