-
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
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- 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
Najnowsze wątki
- 2024-11-29 Dławik CM
- 2024-11-29 [OT] Lewe oprogramowanie
- 2024-11-29 Błonie => Sales Specialist <=
- 2024-11-29 Warszawa => IT Expert (Network Systems area) <=
- 2024-11-29 Warszawa => Ekspert IT (obszar systemów sieciowych) <=
- 2024-11-29 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-29 Białystok => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-11-29 Pómpy ciepła darmo rozdajoo
- 2024-11-29 Białystok => Application Security Engineer <=
- 2024-11-29 Białystok => Programista Full Stack (.Net Core) <=
- 2024-11-29 Gdańsk => Software .Net Developer <=
- 2024-11-29 Wrocław => Key Account Manager <=
- 2024-11-29 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-29 Chrzanów => Specjalista ds. public relations <=
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO