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 2623 dni, 6 godzin, 15 minut temu ogrod87 313 ź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 2960 dni, 19 godzin, 53 minuty 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 4481 dni, 22 godziny, 3 minuty 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 4685 dni, 23 godziny, 28 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 4739 dni, 19 godzin, 34 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 4966 dni, 3 godziny, 34 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 5379 dni, 17 godzin, 13 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 5600 dni, 12 godzin, 32 minuty 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

Programowanie rozproszone 5620 dni, 18 godzin, 22 minuty temu paduda 149 źrodło rozwiń

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

Prymitywy synchronizacyjne - jak dobrze je znamy?

Inne 5725 dni, 4 godziny, 33 minuty temu Paweł Łukasik 88 źrodło rozwiń