-
Data: 2013-06-24 00:21:12
Temat: Re: pytanie z mutexów
Od: Michoo <m...@v...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 23.06.2013 22:25, Andrzej Jarzabek wrote:
> On 23/06/2013 19:42, Michoo wrote:
> >
>>> Proponuje to zrobic przy pomocy mutexow lub nawet cmpxchg.
>>
>> A myślisz, że co niby leży "pod spodem" kolejek komunikatów? W javie
>> wszystkie synchronized() to jest właśnie na x86 cmpxchg.
>
> Pomijając wszystko inne, czy twierdzisz, że instrukcja procesora cmpxch
> potrafi wykonać czynność "wstrzymaj wykonanie wątku do momentu..."?
Oczywiście, że nie. Instrukcja ta pozwala na dwie rzeczy(mówimy o SMP):
- możliwie bezkosztowe (kilka cykli) uzyskanie blokady na wyłączność
(wejście do sekcji krytycznej)
- możliwie bezkosztowe wstawianie/usuwanie obiektów z kolejek
> Jak
> to się niby odbywa - przecież wątek jest bytem funkcjonującym na
> poziomie co najmniej systemu operacyjnego (jeśli nie wręcz maszyny
> wirtualnej)?
W pierwszym przypadku jest polecam lekturę tego jak działają linuxowe
FUTEXy. W skrócie chodzi o to, żeby w domyślnej ścieżce wykonania (gdy
sekcja krytyczna jest wolna) nie wykonywać drogich odwołań do systemu
operacyjnego. Gdy wątek musi i tak czekać to można sobie pozwolić na
trochę dłuższą ścieżkę wykonania (i wtedy prosi system operacyjny o
uśpienie).
W drugim przypadku możemy mieć kolejkę producent(ci)->konsument(ci)
która nie wymaga blokowania ("lock-free") a więc oszczędzamy całkiem
sporo czasu na usypianiu i budzeniu wątków.
--
Pozdrawiam
Michoo
Następne wpisy z tego wątku
- 24.06.13 00:58 Edek
- 24.06.13 03:41 A.L.
- 24.06.13 07:34 Andrzej Jarzabek
- 24.06.13 08:13 firr
- 27.06.13 22:33 Michoo
- 27.06.13 22:58 A.L.
- 28.06.13 15:36 Michoo
- 28.06.13 22:12 A.L.
- 28.06.13 22:30 Marek Borowski
- 28.06.13 22:51 A.L.
- 29.06.13 00:13 Edek
- 29.06.13 00:39 A.L.
- 29.06.13 01:00 Edek
- 29.06.13 11:03 Marek Borowski
- 30.06.13 20:11 Edek
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-11 Rejestrator temperatur - termopara, siec
- 2025-07-11 DPD, przeniesienie numerów z a2mobile i z Orange
- 2025-07-11 Warszawa => Account Manager - Sprzedaż Usług Rekrutacyjnych <=
- 2025-07-11 Poznań => Senior Key Account Manager IT <=
- 2025-07-11 Warszawa => Strategic Account Manager <=
- 2025-07-11 Warszawa => International Freight Forwarder <=
- 2025-07-11 Warszawa => Spedytor Międzynarodowy <=
- 2025-07-11 MObywatel - fantazja poniosła
- 2025-07-11 Białystok => Programista Kotlin <=
- 2025-07-11 Kraków => PHP Developer (Full Stack) <=
- 2025-07-11 Warszawa => Specialist in Administration <=
- 2025-07-11 Warszawa => Specjalista/tka ds. Administracji <=
- 2025-07-11 Warszawa => Senior Product Manager <=
- 2025-07-11 Szczecin => Key Account Manager IT <=
- 2025-07-11 Łódź => Programista Mainframe (z/OS, Assembler) <=