-
Data: 2014-05-25 08:39:54
Temat: Re: Wielowątkowość - podstawowe pytanie
Od: Edek <e...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Szarym od mżawki świtem Sat, 24 May 2014 04:29:43 -0700, Piotrek wyrzucił
pustą ćwiartkę i oznajmił:
> Wyjaśnijcie mi taką jedną rzecz. Niby mam ogólne,
> teoretyczne pojęcie o wielowątkowości - wiem z czym
> to się je, jakie problemy wiążą się z programowaniem
> wielowątkowym, ale zawsze zastanawiała mnie taka jedna
> fundamentalna kwestia: dlaczego programiści w ogóle muszą
> być świadomi tego, że programują wielowątkowo, tzn. dlaczego
> samodzielnie muszą używać muteksów i innych mechanizmów
> synchronizacji wątków? Może bredzę, ale nie dałoby się tego
> jakoś rozwiązać na poziomie samego języka? Dlaczego każda
> instrukcja programu nie jest domyślnie atomowa, tzn. kompilator
> przy generowaniu kodu sam nie emuluje atomowości
> wstawiając gdzie trzeba różne locki/unlocki tak, żeby
> w ogóle nie trzeba było o tym myśleć? Chodzi o to, że
> byłoby to niewydajne?
Fajnie byłoby, gdyby się dało, ale nie istnieje takie rozwiązanie.
Są zbliżone, takie jak model przekazywania wiadomości - ma swoje
plusy i minusy, ale nie wymaga jawnej synchornizacji, co nie znaczy,
że na nic nie trzeba uważać. Zbliżona do celu jest pamięć transakcyjna,
(prawie) moóżna jej używać tak jak napisałeś, prawie, bo i tak trzeba
zaznaczyć granice transakcji i ewentualnie podtransakcji.
W praktyce gdybyś mógł przedstawić przedstawić coś co byłoby
spójne na pewno znajdzie się ktoś kto takie rozwiązanie zaimplementuje.
Szczegóły techniczne zostawiając na później, pierwsze pytanie:
skąd kompilator ma wiedzieć o co programiście chodzi? Najlepiej
z przykładami, skoro
> Dlaczego każda
> instrukcja programu nie jest domyślnie atomowa, tzn. kompilator
> przy generowaniu kodu sam nie emuluje atomowości
> wstawiając gdzie trzeba różne locki/unlocki tak, żeby
> w ogóle nie trzeba było o tym myśleć?
.... powiedz, jak kompilator miałby zrozumieć
a = b + c
a) osobno odczyt zmiennych dodawanie i zapis?
b) całe wyrażenie wraz z przypisaniem atomowo?
c) co jeżeli typem jest liczba zespolona, czy w klasie Complex
musi być informacja, że część rzeczywistą i urojoną traktuje się
atomowo czyli zawsze razem, czy może kompilator też miałby się
tego w jakiś sposób "domyśleć"?
d) ?
--
Edek
Następne wpisy z tego wątku
- 27.05.14 10:52 Adam Wysocki
- 04.06.14 19:59 Piotrek
- 04.06.14 20:02 Edek
- 04.06.14 21:10 Piotrek
- 04.06.14 22:19 Edek
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-08 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Szczecin => Key Account Manager (ERP) <=
- 2024-11-08 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-08 Wrocław => Senior PHP Symfony Developer <=
- 2024-11-08 Warszawa => QA Engineer <=
- 2024-11-08 Warszawa => QA Inżynier <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Gdańsk => Software .Net Developer <=
- 2024-11-08 Akumulator Hyundai
- 2024-11-08 Warszawa => Manager/Specialist e-commerce (B2C) <=
- 2024-11-08 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-08 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-08 znaj podstawe
- 2024-11-08 Chrzanów => Specjalista ds. public relations <=