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 2653 dni, 12 godzin, 22 minuty temu ogrod87 314 ź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 2991 dni, 2 godziny, 1 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 4512 dni, 4 godziny, 11 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

Programowanie rozproszone 4716 dni, 5 godzin, 35 minut temu paduda 396 źrodło rozwiń

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 4770 dni, 1 godzinę, 42 minuty temu pzielinski 224 ź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 4996 dni, 9 godzin, 42 minuty temu Paweł Łukasik 90 ź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 5409 dni, 23 godziny, 20 minut temu gordon_shumway 39 ź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

Programowanie rozproszone 5630 dni, 18 godzin, 40 minut temu macko 92 źrodło rozwiń

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

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

Prymitywy synchronizacyjne - jak dobrze je znamy?

Inne 5755 dni, 10 godzin, 41 minut temu Paweł Łukasik 88 źrodło rozwiń

Najaktywniejsi w tym miesiącu