-
Data: 2013-06-21 18:33:03
Temat: Re: pytanie z mutexów
Od: Edek <e...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Dnia Thu, 20 Jun 2013 03:35:33 -0700 po głębokim namyśle firr kenobi
rzekł:
> nie zmam sie za bardzo na rozmaitych prymitywach sluzacych do lockowania
> kawałków ramu (a jest tego kilkanascie z tego co kojarze) stad pytanie :
> czy najbardziej podstawowy z tych elementali (jak mniemam mutex) pozwala
> zapisac jakies informacje przy lokowamiiu jakiegos kawalka ramu (tak by
> inny watek ktory sie na to natkanł mogl to przeczytac) czy tez nie jest
> to praktykowane?
Mutex jest rozwiązaniem abstrakcyjnym, nie sprzętowym. W tym sensie,
że programista w każdej chwili może zapomnieć o mutexie i sprzęt
na to pozwoli.
Metainformacje w RAM istniały w starych Sunach, tagged data,
ale dotyczyły typu danych a nie wielodostępu. Technicznie
wykonalne, ale nie praktykowane. Nowe procesory mają mieć
wsparcie TM - specyfikacje i użycie już istnieją, tylko
samego sprzęta niet.
> drugie pytanie czy jest jakias (chocby zwyczajowa)
> hierarchia tych prymitywow i czy ich nazewnictwo juz sie jakos ulozylo
> czy tez panuja rozne nazewnictwa i jaki to jest ten standardowy set?
Mutex i lock to dwie nazwy tego samego pomijając może niuanse. Condition
variable jest praktycznie uniwersalną nazwą. W Win nazwy są takie same
jak nazwy ich metod - nie wiem. Są też praktyczne implementacje
tychże, takie jak Futex (na linuksie praktycznie w userspace
wszystkie mutexy są zaimplementowane przez futex, w kernelu
częściej jako spinlock)
Z podstawowych są też inne bestie: CAS, semafor, monitor (obudowany
cukrem mutex, odrobinę co innego), atomic sth, bariera, spinlock
i parę innych, w tym odmiany mutexów: rekursywne, RWLock.
Istnieje też abstrakcyjny Model Pamięci, bez którego wszystkie
powyższe nie mają najmniejszego sensu, oraz sprzętowy Model
Pamięci, bez którego nie dałoby się ich poprawnie zaimplementować.
Potem jest wiele elementów używających powyższych, jakby wyższego
poziomu: future, promise, continuation, asynchroniczność,
kontynuacje, egzekutory, Thread Pools, kolejki, struktury
danych lock-free, emulowane atomics (dla obiektów zbyt dużych
aby istniało sprzętowe wsparcie emuluje się na różne sposoby
semantycznie to samo używając innych operacji sprzętowych),
dzielone smart pointery, thread cancelation (aka ThreadDeath,
dziwna i himeryczna bestia), przekazywanie wyjątków pomiędzy
wątkami, once, jednorazowa statyczna inicjalizacja (wraz z
obleśnym double-checked locking), thread local storage,
same wątki i ich wszystkie odmiany - kompletna lista
byłaby znacznie dłuższa.
Wielowątkowość nie jest nowa, tylko relatywnie nowa w codziennym
masowym życiu programistów. Weszła masowo, gdy procesory
zaczęły mieć masowo najpierw HT a potem wiele rdzeni na
desktopie - co się stało niedawno, tylko kilka lat temu.
Powyższe są standardowym zestawem, natomiast większej hierarchii
w nich nie widzę.
--
Edek
Następne wpisy z tego wątku
- 21.06.13 18:52 A.L.
- 21.06.13 20:53 Edek
- 21.06.13 21:02 firr kenobi
- 21.06.13 21:32 firr kenobi
- 21.06.13 21:50 Bronek Kozicki
- 21.06.13 22:26 Edek
- 21.06.13 22:32 Edek
- 21.06.13 22:47 Bronek Kozicki
- 21.06.13 22:48 Bronek Kozicki
- 21.06.13 23:03 Edek
- 22.06.13 00:10 firr
- 22.06.13 01:52 A.L.
- 22.06.13 01:52 A.L.
- 22.06.13 02:56 Edek
- 22.06.13 02:59 A.L.
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-10 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-02-10 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-02-10 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-10 Kraków => iOS Developer (Swift experience) <=
- 2025-02-10 Karząca ręka samorządu adwokackiego wygrała w NSA - wieszanie (portretów) ue-posłów ze "współczesnej Targowicy" (2017)
- 2025-02-10 Nie kupisz paliwa na stacji
- 2025-02-09 Ster w trolejbusie.
- 2025-02-09 Jebany POPiS. Mamy się cieszyć że rząd Tuska naprawił spierdolone porozumienie z UE?
- 2025-02-08 W zyciu warto miec szczescie
- 2025-02-08 Elektryki
- 2025-02-08 Alg. kompresji LZW
- 2025-02-08 Kraków => Key Account Manager <=
- 2025-02-08 Warszawa => Java Developer <=
- 2025-02-09 Cenzura netu
- 2025-02-08 Re: Historyczny sukces tuskistanu: groźna cyber-przestępczyni emerytka Iza błyskawicznie ujęta!