dotnetomaniak.pl - Artykuły z tagiem lock

Każdy z programistów, który choć raz miał do czynienia z wielowątkowością, chociaż raz musiał użyć konstrukcjo lock(). Dlaczego nie wolno tego używać razem z async/await? I co użyć zamiast tego? O tym w dzisiejszym wpisie.

Źródło: solidev.pl
Dziel się z innymi:
Asynchroniczny Lock w C# – Solidny programista | blog o programowaniu

Sztuka programowania 2450 dni, 17 godzin, 47 minut temu ogrod87 311 źrodło rozwiń

Zaczął się nowy rok akademicki i dostałem zastrzyk informacji. Za nim podążył strzał ze strzelby zadaniami domowymi. Takie życie studenta. W każdym razie, wspomiany w tytule wyścig o dostęp to problem, który opiewa przedmiot Programowanie Współbieżne. O co tu chodzi? Na początku komputery były proste i wykonywały wszystkie zadania liniowo...

Wyścig o dostęp | MD Tech Blog

Sztuka programowania 2788 dni, 7 godzin, 25 minut temu manio143 110 źrodło rozwiń

W ostatnim poście pisałem o barierze jako rozwiązaniu na uniknięcie problemów z związanych z optymalizacją dokonywaną przez CPU (re-ordering). Kilka postów wcześniej pisałem z kolei o buforowaniu danych i słowie kluczowym volatile. Jeśli nie wiedzie co to jest MemoryBarrier oraz Volatile zachęcam do przeczytania tych wpisów najpierw – bez nich dzisiejszy post będzie kompletnie niezrozumiały. Wiemy, że caching oraz re-ordering może na niektórych architekturach spowodować trudne w analizie błędy. Dziś chc...

Tagi: bariera, C#, lock
Dziel się z innymi:
Piotr Zieliński  » Blokada lock a bariera oraz caching

Sztuka programowania 4309 dni, 9 godzin, 35 minut temu pzielinski 81 źrodło rozwiń

autor: Ostatnio przeglądając kod udało mi się znaleźć następujący fragment:lock(this){// Do something} Do zsynchronizowania dostępu do współdzielonego zasobu używany jest obiekt, w którym występuje ten fragment kodu. Teoretycznie fragment ten jest poprawny. Co więcej w programie nie wystąpił żaden problem z zakleszczeniem. Przeglądając literaturę możemy natrafić na następujące przykłady: 1. W O’Reilly Programming C# można spotkać następujący przykład użycia słowa kluczowego ...

Dziel się z innymi:
lock (this) – za i przeciw

Słowo lock służy do synchronizacji  kodu między wątkami. Często jednak przeglądając kod widzę niepoprawne użycie. Rozważmy następujący przykład:publicclass OrderManager { publicvoid Submit() { lock(this) { //... } } } Przedstawiona konstrukcja może spowodować wiele trudnych do wykrycia problemów. Co jeśli użytkownik naszej biblioteki również wykorzysta źle lock i napisze:OrderManager orderManager=new OrderManager(); //...lock(orderManager) { orderManage...

Tagi: lock
Dziel się z innymi:
Piotr Zieliński » Jak nie używać blokad lock

Programowanie rozproszone 4567 dni, 7 godzin, 6 minut temu pzielinski 223 źrodło rozwiń

Mechanizmy wspierające tworzenie aplikacji wielowątkowych są obecne w .NET od zarania dziejów. Istnieją klasy opakowujące funkcje i obiekty systemowe, są także mechanizmy dostępne tylko w .NET i udostępnione w postaci wygodnych konstrukcji językowych. Jedną z takich konstrukcji obecnych w C# jest słowo kluczowe lock, które usprawnia synchronizację między wątkami praktycznie bez wpływu na wydajność. Lock przeszedł drobny lifting w wersji 4.0, jednak szczegóły omówimy na końcu. Metoda 1: Kod haszowy & ...

Źródło: zine.net.pl
Dziel się z innymi:
mgrzeg.net - Admin on Rails :) : lock() internals

Inne 4793 dni, 15 godzin, 6 minut temu Paweł Łukasik 89 źrodło rozwiń

Parę dni temu natknąłem się na następujący problem: chciałem usunąć branch z source control TFS, ale podczas próby wykonania takiej akcji, dostawałem komunikat, że jeden z developerów z zespołu posiada locki na plikach. Z pewnych względów developer ten nie mógł zdjąć swoich locków, więc musiałem mu trochę pomóc ;)

Źródło: teamsystem.pl
Dziel się z innymi:
Grzegorz Rycaj: Visual Studio Team System | Quick Hint: Zdejmowanie cudzych locków z plików w TFS

Narzędzia 5207 dni, 4 godziny, 45 minut temu gordon_shumway 37 źrodło rozwiń

Niejednokrotnie podczas pisania aplikacji napotyka się na sytuację gdy jedna metoda produkuje pewne dane, inna natomiast w pewien sposób je konsumuje. Czasem dobrym pomysłem jest, w przypadku gdy produkowane dane są w pewien sposób podzielne na części, wykonywać produkcję i konsumpcję w równoległych wątkach. Tutaj pojawia się istotny problem z zagadnienia wielowątkowości - synchronizacja. Oba (wszystkie) wątki współdzielące dany zasób muszą z niego korzystać w pewien ustalony sposób, tak aby w danej chwi...

Łukasz Sowa | Producent i konsument - przykład użycia słowa kluczowego lock

Artykuł opisuje zagadnienia związane z równoczesnym dostępem do wspólnych elementów przez wiele wątków oraz możliwe konflikty - w języku C#. Nie znajdziecie tu natomiast podstaw wielowątkowości w C#, zakładam iż te są już znane. Przykłady napisane jako proste aplikacje konsolowe – krótkie i zwięzłe bez nadmiaru niepotrzebnych informacji (jednak na tyle samodzielne, że można je bez problemu odpalić przez zwykłe skopiowanie).

Źródło: 4programmers.net
Dziel się z innymi:
C sharp :: Bezpieczny dostęp do danych - 4programmers.net

Programowanie rozproszone 5448 dni, 5 godzin, 54 minuty temu paduda 143 źrodło rozwiń

Trochę informacji o tym jak możemy synchronizować procesy i wątki w .NET.

Prymitywy synchronizacyjne - jak dobrze je znamy?

Inne 5552 dni, 16 godzin, 5 minut temu Paweł Łukasik 87 źrodło rozwiń