dotnetomaniak.pl - Artykuły z tagiem Parallel

Jakiś czas temu w pracy miałam ciekawy przypadek. Mianowicie – losowo wywalał się jeden z testów. Powodem był NullReferenceException w logice. Żeby dojść do problemu, trzeba było przeanalizować trochę kodu, w którym był użyty Parallel.ForEach() i lista obiektów. Gdzie był błąd i jak go naprawiłam? O tym we wpisie.

Tagi: bug, C#, foreach, Null, Parallel
Dziel się z innymi:
Parallel.ForEach() i ConcurrentBag – programmer-girl

Sztuka programowania 1724 dni, 3 godziny, 52 minuty temu Weronika Mularczyk 172 źrodło rozwiń

Cześć, pod ostatnim postem, użytkownik DD zwrócił mi uwagę by zamiast w każdej iteracji pętli, wykonywać await na handlerze, można je wszystkie odpalić za pomocą metody Task.WhenAll(). W tym wpisie chciałbym omówić różnicę między tymi dwoma podejściami, opisać za i przeciw a także samemu sprawdzić, w praktyce co okazuję się szybsze i mniej zawodne.Różnice Metoda Task.WhenAll() przyjmuje jako...

Źródło: www.contend.pl
Dziel się z innymi:
Task.WhenAll vs Multiple awaits in foreach – Contend

Sztuka programowania 2208 dni, 2 godziny, 52 minuty temu contend 233 źrodło rozwiń

Ostatnio w projekcie zdarzyło się, że musiałem debugować skomplikowany proces wyliczania, który był zrównoleglony przy pomocy metody Parallel.ForEach(). Moja konfiguracja sprzętowa pozwoliła na uruchomienie kilku wątków naraz co sprawiło, że proces debugowania stał się dość uciążliwy. W różnych, bliżej nieokreślonych momentach, byłem przerzucany pomiędzy różnymi wątkami, a co za tym idzie pomiędzy różnymi kontekstami i miejscami w kodzie.

Źródło: kurzyniec.pl
Dziel się z innymi:
Parallel debugging – jak sobie radzić | Łukasz Kurzyniec

Programowanie rozproszone 2681 dni, 23 godziny, 48 minut temu lkurzyniec 214 źrodło rozwiń

Hi, today I would like to share with you idea of right parallel execution of actions/methods. Imagine at the beginning that you have queue of messages and even some number of threads that in parallel get messages from queue and then there are doing background work. Now if that messages executes actions on relational database you will quickly find out that some of your work is done right, but b...

Dziel się z innymi:
ParallelExecutorAspect in C#

Programowanie rozproszone 3528 dni, 23 godziny, 11 minut temu rroszczyk 158 źrodło rozwiń

W poprzednim poście pisałem  o statycznej dekompozycji tablicy na kilka wątków. Główną wadą podejścia było przypuszczenie, że wszystkie iteracje są tak samo skomplikowane. W niektórych algorytmach należy znaleźć element spełniający podane wymagania. Wyobraźmy sobie, że mamy 100 elementową tablicę i dzielimy ją na 10 wątków. Ponadto element szukany znajduje się pod indeksem 9. Wniosek taki, że NIC nie zyskamy ze zrównoleglenia. Dziewięć wątków będzie szukało w złym miejscu, a pierwszy z nich będzie wyko...

Dziel się z innymi:
Piotr Zieliński » Pętla wykonywana równolegle–część II

Sztuka programowania 4006 dni, 17 godzin, 14 minut temu Paweł Łukasik 121 źrodło rozwiń

Chciałbym rozpocząć nowy cykl na blogu, tym razem o PLINQ.  Dzisiaj zaczniemy od podstaw czyli czym jest LINQ oraz kiedy z niego korzystać. PLINQ to skrót od Parallel Linq czyli są to zapytania wykonywane równolegle. W dzisiejszym świecie, programiści starają się zrównoleglić co tylko jest możliwe. Samodzielne pisanie LINQ w sposób równoległy jest dość niewygodne i dlatego Microsoft wprowadził PLINQ. Należy oczywiście zawsze pamiętać, że próba zrównoleglenia operacji, które muszą po prostu zostać wykona...

Tagi: Linq, Parallel, PLINQ
Dziel się z innymi:
Piotr Zieliński » PLINQ – wprowadzenie

Sztuka programowania 4257 dni, 21 godzin, 57 minut temu pzielinski 224 źrodło rozwiń

Klasa Parallel stanowi doskonałe dopełnienie do task’ów.  Dostarcza trzy statyczne metody:Invoke – współbieżne uruchomienie kilku zadań. For – współbieżna pętla FOR. ForEach – współbieżna pętla foreach. Klasa stanowi helper, ponieważ wszystkie powyższe operacje można wykonać za pomocą obiektów Task lub Thread. Implementacja jednak własnej pętli współbieżnej jest zawsze trudniejsza niż użycie po prostu gotowej metody. Zacznijmy od Invoke, przykład:staticvoid Main(string[] args) { Parallel.Invoke(Me...

Tagi: C#, Parallel
Dziel się z innymi:
Piotr Zieliński » Klasa Parallel

Inne 4465 dni, 5 godzin, 14 minut temu pzielinski 100 źrodło rozwiń

Informacja dla tych, którzy chcieliby poczytać o programowaniu wielowątkowym w C# (i dla mnie bym nie musiał kolejny raz „googlać” tego linku) polecam przeczytanie książki „Threading in C#” autorstwa Joseph Albahari.

Dobra lektura o wątkach w C# [PL] | Maciej Zbrzezny: Programowanie i Technologie

Programowanie rozproszone 4969 dni, 5 godzin, 27 minut temu paduda 260 źrodło rozwiń