Tag: parallel-extensions
Parallel Extensions ist ein managed concurrency-Bibliothek enthalten .NET 4.0 release.
3
Antworten
Während ich mit Parallel.ForEach in meinem Programm, habe ich festgestellt, dass einige threads, die nie schien zu beenden. In der Tat, es hielt laichen neue threads über und über, ein Verhalten, das ich nicht erwartet hatte und
3
Antworten
Habe ich genutzt, um mit Hilfe Parallel.Für() in .Net, die parallel extensions, da es eine einfache Möglichkeit der Parallelisierung von code, ohne manuell zu starten und zu pflegen threads (das kann fummelig). Ich bin jetzt auf der
1
Antworten
public bool HasItemsFromPropertySet(InfoItemPropertySet propertySet, CompositeInfoItem itemRemoved) { var itemAndSubItems = new InfoItemCollection(); if (itemRemoved != null) { itemAndSubItems.Add(itemRemoved); //foreach (InfoItem item in itemRemoved.AllDescendants) itemAndSubItems.AddRange(itemRemoved.AllDescendants); } return AllItems.AsParallel().Any(item => item.PropertySet == propertySet && !itemAndSubItems.Contains(item)); } Oben in meinem
4
Antworten
So zum Beispiel: ConcurrentDictionary<string,Payload> itemCache = GetItems(); foreach(KeyValuePair<string,Payload> kvPair in itemCache) { if(TestItemExpiry(kvPair.Value)) { //Remove expired item. Payload removedItem; itemCache.TryRemove(kvPair.Key, out removedItem); } } Offensichtlich mit einem gewöhnlichen Wörterbuch diese, wird eine Ausnahme ausgelöst, weil das entfernen
5
Antworten
Ich habe eine Frage bezüglich der parallelen for-Schleifen. Ich habe den folgenden code: public static void MultiplicateArray(double array, double factor) { for (int i = 0; i < array.Length; i++) { array[i] = array[i] * factor; }
4
Antworten
Bin ich mit Parallel.ForEach und ich bin dabei einige Datenbank-updates, jetzt ohne Einstellung MaxDegreeOfParallelism , ein dual-core-Prozessor-Maschine der Ergebnisse in sql-client-timeouts, wo sonst quad-core-Prozessor-Maschine irgendwie nicht timeout. Nun ich habe keine Kontrolle über welche Art von Prozessor-cores
2
Antworten
static async void Main(string args) { Task t = new Task(() => { throw new Exception(); }); try { t.Start(); t.Wait(); } catch (AggregateException e) { //When waiting on the task, an AggregateException is thrown. } try
6
Antworten
Bin ich unter den unten angegebenen code var processed = new List<Guid>(); Parallel.ForEach(items, item => { processed.Add(SomeProcessingFunc(item)); }); Ist der obige code thread-safe? Gibt es eine chance, verarbeitet die Liste immer beschädigt? Oder sollte ich eine Sperre
5
Antworten
Ich bin auf der Suche nach einer einfachen Implementierung eines parallelisiert (multi-threaded) - sort-Algorithmus in C#, das auf List<T> oder Arrays, und möglicherweise über die Parallel Extensions, aber das Teil ist nicht unbedingt notwendig. Edit: Frank Krüger
6
Antworten
In einem meiner Projekte, das ist irgendwie ein aggregator, ich parse-feeds, podcasts und so aus dem web. Wenn ich sequenziellen Ansatz, da eine große Anzahl von Ressourcen, es nimmt einiges an Zeit zu verarbeiten, alle von Ihnen
4
Antworten
Was ist der Unterschied zwischen den untenstehenden code-Schnipsel? Nicht beide werden mit threadpool-threads? Zum Beispiel, wenn ich will, nennen eine Funktion für jedes Element in einer Auflistung, Parallel.ForEach<Item>(items, item => DoSomething(item)); vs foreach(var item in items) {
6
Antworten
Klasse CancellationTokenSource Einweg. Ein kurzer Blick in den Reflektor erweist sich die Verwendung von KernelEvent eine (sehr wahrscheinlich) nicht verwaltete Ressource. Da CancellationTokenSource hat keinen finalizer, wenn wir nicht entsorgen Sie es, die GC wird es nicht