-
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
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 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
Najnowsze wątki
- 2025-01-20 Gdańsk => Programista Full Stack .Net <=
- 2025-01-20 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-20 Warszawa => Full Stack .Net Engineer <=
- 2025-01-20 huta ruszyla
- 2025-01-20 piece wodorowe
- 2025-01-20 Lublin => Programista Delphi <=
- 2025-01-20 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-20 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-01-20 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-01-19 Test - nie czytać
- 2025-01-19 qqqq
- 2025-01-19 Tauron przysyła aneks
- 2025-01-19 Nowa ładowarka Moya a Twizy -)
- 2025-01-18 Power BANK z ładowaniem przelotowym robi PRZERWY
- 2025-01-18 Pomoc dla Filipa ;)