eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingpytanie z mutexów › Re: pytanie z mutexów
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!wsisiz.edu.pl!plix.pl!newsfeed2.plix.pl!news.nask.pl!news.nask.org.pl!
    news.internetia.pl!not-for-mail
    From: Michoo <m...@v...pl>
    Newsgroups: pl.comp.programming
    Subject: Re: pytanie z mutexów
    Date: Mon, 24 Jun 2013 00:21:12 +0200
    Organization: Netia S.A.
    Lines: 35
    Message-ID: <kq7svq$j37$1@mx1.internetia.pl>
    References: <5...@g...com>
    <51c56394$0$28103$c3e8da3$91613603@news.astraweb.com>
    <f...@4...com>
    <kq70gf$ngh$1@mx1.internetia.pl>
    <3...@4...com>
    <kq7g4r$a05$1@mx1.internetia.pl> <kq7lkl$p1c$1@somewhere.invalid>
    NNTP-Posting-Host: 83.238.197.12
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: mx1.internetia.pl 1372026682 19559 83.238.197.12 (23 Jun 2013 22:31:22 GMT)
    X-Complaints-To: a...@i...pl
    NNTP-Posting-Date: Sun, 23 Jun 2013 22:31:22 +0000 (UTC)
    In-Reply-To: <kq7lkl$p1c$1@somewhere.invalid>
    X-Tech-Contact: u...@i...pl
    User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:10.0.11) Gecko/20121123
    Icedove/10.0.11
    X-Server-Info: http://www.internetia.pl/
    Xref: news-archive.icm.edu.pl pl.comp.programming:203845
    [ ukryj 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: