-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!goblin2!goblin1!goblin.stu.neva.ru!news2.arglkargh.de!news.glorb.com!n
ews-in-01.newsfeed.easynews.com!easynews!core-easynews-01!easynews.com!en-nntp-
04.dc1.easynews.com.POSTED!not-for-mail
From: A.L. <a...@a...com>
Newsgroups: pl.comp.programming
Subject: Re: Wybór języka/technologii pod konkretne wymagania, konkretnego
przypadku ludzkiego :)
Message-ID: <b...@4...com>
References: <7...@g...com>
<kn1rst$o77$1@somewhere.invalid>
<u...@4...com>
<kn4ius$bbu$1@somewhere.invalid>
<m...@4...com>
<kn9j1j$scu$1@somewhere.invalid>
User-Agent: ForteAgent/7.00.32.1200 trialware
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
Lines: 73
X-Complaints-To: a...@e...com
Organization: Forte Inc. http://www.forteinc.com/apn/
X-Complaints-Info: Please be sure to forward a copy of ALL headers otherwise we will
be unable to process your complaint properly.
Date: Sun, 19 May 2013 11:20:04 -0500
X-Received-Bytes: 4182
Xref: news-archive.icm.edu.pl pl.comp.programming:203484
[ ukryj nagłówki ]On Sun, 19 May 2013 05:05:06 +0100, Andrzej Jarzabek
<a...@g...com> wrote:
>On 18/05/2013 02:34, A.L. wrote:
>> On Fri, 17 May 2013 07:33:00 +0100, Andrzej Jarzabek
>>>
>>> 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.
>>
>> Niestety, nie rozumiem.
>> Mozna prosic o szczegoly?...
>
>Po pierwsze, fakt istnienia w Javie synchronized i notify nie chroni
>przed problemami z wątkami.
Fakt. Tzreba umiec uzywac je w sposob wlasciwy
>I tak trzeba wiedzieć, które obiekty są
>dostępne z wielu wątków i trzeba sobie zaprojektować co ma być
>synchronized, w jaki sposób wątki się powiadamiają i tak dalej.
>
To tzreba zawsze wiedziec, niezaleznie ud uzytych narzedzi
>Ponadto - co prawda użycie synchronized i notify eliminuje część
>możliwych kombinacji z mutexami i condition variables (ale nadal beez
>gwarancji, że takie nie wystąpią, bo jawne mutexy też przecież w Jaie
>są), to wiedząc jak działają, ten sam efekt można w innych językach
>łatwo (przynajmniej w C++ łatwo) uzyskać przy pomocy mutex i condition
>variable.
Stwierdzenie jest trywialne. Java implementuje koncepcje "monitora"
wprowadzona pzrez Hoare i Brinch Hansena. Jest to konstrukcje wyzszego
poziomu niz "gole" mutexy. Oczywiscie, mozna zaimplementowac monitor
poslugujac sie wylacznie semaforami (co jest standardowym cwiczeniem
studenckim) ale to ma taka sama sile jak stwierdzenie ze "obiekty
takie jak w C++ sa niepotzrebne bo mozna je latwo zaimplementowac w C
poslugujac sie pointerami i makroprocesorem". Owszem, mozna. Ale
obiektowo programuje sie latwiej majac jezyk wspierajacy obiekty;
podobnie wielowatkowo programujesie latwiej majac jezyk wspierajacy
konstrukcje wyzszego poziomu niz mutex.
W Javie wystepuja mutexy, bo nei wszystkie problemy wzajemnego
wykluczania dadza sie zaimplementowac poslugujac sie "synchronized"
(albo byloby to bardzo nieczytelne). Do takich problemow nalezy na
przykald "wzajemne wykluczanie na grafie".
>Szczegółowo mam opisać jakbym taki odpowiednik zaimplementował
>w C++, czy nie ma takiej potrzeby?
>
Nie, nie ma potrzeby uczyc mnie programowania wielowatkowego. Uczylem
tego 15 lat
>Z tego co przeczytałem zresztą, to wygląda jakby C# oferował tę samą
>funkcjonalność przez klasę Monitor, polecenie lock i anotację
>[MethodImpl(MethodImplOptions.Synchronized)]. Mimo to OP przy wymaganiu
>o łatwej obsłudzę wątków wymienia swoje problemy z C# właśnie.
Owszem, C# oferuje bardzo podobny model monitora jak Java
Co nie znaczy ze monitor jest konstrukcja idealna... Sam Hoare wycofal
sie z tego konceptu proponujac w zamian CSP (Communicating Sequential
Processes)
A.L.
P.S. Jezeli ktos chce spojrzec glebiej na model wielowatkowosci w
javie, polacam nastepujaca prezentacje
http://www.cs.kent.ac.uk/projects/ofa/jcsp/csp-java-
model-6up.pdf
Następne wpisy z tego wątku
- 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
- 20.05.13 21:56 Stachu 'Dozzie' K.
- 20.05.13 21:58 Andrzej Jarzabek
- 20.05.13 22:04 Kviat
- 20.05.13 22:33 Edek
- 20.05.13 23:41 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-02-14 Zdalne załączanie grzałki bojlera elektrycznego
- 2025-02-14 Warszawa => Kierownik ds. kluczowych Klientów <=
- 2025-02-14 Częstochowa => Product Manager - Systemy infrastruktury teleinformaty
- 2025-02-14 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-02-14 Warszawa => Data Engineer (Tech Leader) <=
- 2025-02-14 Czy ma sens grupa news:pl.soc.polityka-prawna ? :-)
- 2025-02-14 e-paper
- 2025-02-14 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-14 Warszawa => System Architect (Java background) <=
- 2025-02-14 Katowice => Senior Field Sales (system ERP) <=
- 2025-02-14 Wrocław => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2025-02-14 Re: Dlaczego nie było (pełzającego) zamachu stanu? Bo minister Bodnar już "zawiesił" prokuratora Ostrowskiego
- 2025-02-14 e-paper
- 2025-02-14 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-02-14 Warszawa => International Freight Forwarder <=