-
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
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
Najnowsze wątki
- 2025-07-03 Trybik
- 2025-07-04 Renault Symbioz
- 2025-07-04 Architektura IIIRP: Wyjątkowa, a prymitywniejsza niż stodoła pod zaborami
- 2025-07-04 Warszawa => International Freight Forwarder <=
- 2025-07-04 Wrocław => SAP ABAP Developer <=
- 2025-07-04 Warszawa => Mid/Senior IT Recruiter <=
- 2025-07-04 Białystok => Kotlin Developer <=
- 2025-07-04 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-07-04 Warszawa => Specjalista wsparcia IT - analiza techniczna sprzętu IT <
- 2025-07-04 Zakrzewo => Konsultant SAP HCM <=
- 2025-07-04 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-04 Szczecin => Key Account Manager IT <=
- 2025-07-04 Warszawa => Technik IT - Konfiguracja i Wsparcie Sprzętowe <=
- 2025-07-04 Warszawa => Technique IT - Hardware Configuration and Support <=
- 2025-07-04 Warszawa => Specjalista ds. Sprzętu IT i Wsparcia Technicznego <=