-
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
- Alg. kompresji LZW
- 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??
Najnowsze wątki
- 2025-03-01 zatrzymanie zbyszka maja
- 2025-03-01 Warszawa => Expert Recruiter 360 <=
- 2025-03-01 Chrzanów => NodeJS Developer <=
- 2025-03-01 Warszawa => Gen AI Engineer <=
- 2025-03-01 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-03-01 Kraków => Technical Team Leader (Clojure, Java) <=
- 2025-03-01 Zrobił TV OLED z TV LCD
- 2025-03-01 Gdynia => Sales Executive / KAM <=
- 2025-03-01 Błonie => Sales Specialist <=
- 2025-03-01 Ryga => Konsultant Wdrożeniowy Comarch XL/Optima (Księgowość i Kad
- 2025-03-01 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-03-01 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2025-03-01 Wróblewo => Analityk finansowy <=
- 2025-03-01 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-02-28 Chrzanów => Regionalny Kierownik Sprzedaży (OZE) <=