-
Data: 2013-05-18 06:33:49
Temat: Re: Wybór języka/technologii pod konkretne wymagania, konkretnego przypadku ludzkiego :)
Od: Edek <e...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Dnia Fri, 17 May 2013 23:38:32 +0200 po głębokim namyśle Marek Borowski
rzekł:
> On 5/17/2013 12:26 PM, Edek wrote:
>> Dnia Fri, 17 May 2013 07:33:00 +0100 po głębokim namyśle Andrzej
>> Jarzabek rzekł:
>>> Może nie najszczęśliwiej dobrane słowo. Chodzi o to, że to to samo, co
>>> mutex i condition variable. Główny problem z użyciem tych konstruktów
>>> jest poprawny projekt, a w tym temacie synchronized/notify nie pomaga.
>>
>> Nie, nie "to samo". Przykład pierwszy z brzegu:
>> mutex1.lock();
>> mutex2.lock();
>> mutex1.unlock(); // jak to zrobić blokami "synchronized"?
>>
> Idealny przyklad kodu ktory jest kandydatem do deadlocku.
Tak samo, jak używanie new jest kandydatem do wycieku pamięci.
Powyższe to zwykły Pattern - używa się go wtedy, kiedy dla przykładu
pierwszy mutex chroni zmiany strukturalne kolekcji a drugi element
kolekcji. Często nie można trzymać locka na całej kolekcji podczas
operacji tylko na jednym elemencie, a jednocześnie mieć możliwość
usuwania i dodawania elementów co się robi trzymając pierwszy lock
(i przy każdej operacji pobierającej element).
Jak unikać tego typu deadlocków wymyślił już Dijsktra (i znam
parę osób w tym siebie, które same na to wpadły), rozwiązanie
jest trywialnie proste.
Tak przy okazji - nie wiem co jest w programie studiów dzisiaj.
Rozumiem, że są drzewka, sortowania itd., a powyższego nie ma?
--
Edek
Następne wpisy z tego wątku
- 18.05.13 06:38 Edek
- 18.05.13 15:11 boryspower
- 18.05.13 22:13 Kviat
- 19.05.13 06:05 Andrzej Jarzabek
- 19.05.13 18:20 A.L.
- 19.05.13 23:58 Andrzej Jarzabek
- 20.05.13 00:46 A.L.
- 20.05.13 13:03 wloochacz
- 20.05.13 18:46 Kviat
- 20.05.13 18:57 R.e.m.e.K
- 20.05.13 19:04 Stachu 'Dozzie' K.
- 20.05.13 19:14 Kviat
- 20.05.13 20:23 R.e.m.e.K
- 20.05.13 20:40 Stachu 'Dozzie' K.
- 20.05.13 20:57 R.e.m.e.K
Najnowsze wątki z tej grupy
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-11-02 piszę list do św Mikołaja
- 2024-11-01 karta SIM nie działa w konkretnym smartfonie.
- 2024-11-01 Mamy WZROST! O 50% wzrosła ilość kredytów gotówkowych
- 2024-11-01 Warszawa => Expert Recruiter 360 <=
- 2024-11-01 Warszawa => Technical Leader (Java Background) <=
- 2024-11-01 Warszawa => Account Manager - Usługi rekrutacyjne <=
- 2024-11-01 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-01 Warszawa => Programista Dynamics 365 CRM <=
- 2024-11-01 Warszawa => Dynamics 365 CRM Developer <=
- 2024-11-01 Warszawa => Junior Rekruter <=
- 2024-11-01 Chrzanów => Specjalista ds. PR Produktowego <=
- 2024-11-01 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-01 Łódź => Frontend Engineer (Three.js) <=
- 2024-11-01 Warszawa => Junior Rekruter <=
- 2024-11-01 Gdańsk => Programista Full Stack .Net <=