eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaC++ ośla łączka › Re: C++ ośla łączka
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erj
    e.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!eternal-september.or
    g!reader01.eternal-september.org!.POSTED!not-for-mail
    From: heby <h...@p...onet.pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: C++ ośla łączka
    Date: Thu, 16 Feb 2023 07:22:59 +0100
    Organization: A noiseless patient Spider
    Lines: 33
    Message-ID: <tski4a$365ef$1@dont-email.me>
    References: <16qbnwht7z74n.8802zax2iioq$.dlg@40tude.net>
    <63dad430$0$9589$65785112@news.neostrada.pl>
    <trelrs$g0p$1$Janusz@news.chmurka.net>
    <trgbkf$st9$1$PiotrGalka@news.chmurka.net>
    <63dbd22e$0$9601$65785112@news.neostrada.pl>
    <ts6rps$roo$1$PiotrGalka@news.chmurka.net>
    <63e9f424$0$19625$65785112@news.neostrada.pl>
    <tsg6eb$96a$1$PiotrGalka@news.chmurka.net> <tsgv8m$2kn8s$1@dont-email.me>
    <tsiqth$55n$1$PiotrGalka@news.chmurka.net> <tsj9if$2v62r$1@dont-email.me>
    <a...@n...neostrada.pl>
    <tsjl9d$30gq5$1@dont-email.me>
    <63ed6483$0$9597$65785112@news.neostrada.pl>
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    Injection-Date: Thu, 16 Feb 2023 06:23:06 -0000 (UTC)
    Injection-Info: reader01.eternal-september.org;
    posting-host="6753f9a9e6e28e5f7a0b71608edb3765";
    logging-data="3347919";
    mail-complaints-to="a...@e...org";
    posting-account="U2FsdGVkX18r8yXtoZ3r0LkqwjvUromM"
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
    Thunderbird/102.7.2
    Cancel-Lock: sha1:yhJ59yDNkjl4VA45Y8CXn9kx/18=
    In-Reply-To: <63ed6483$0$9597$65785112@news.neostrada.pl>
    Content-Language: en-US
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:778357
    [ ukryj nagłówki ]

    On 16/02/2023 00:02, Grzegorz Niemirowski wrote:
    >> w modelu rejestrów sprzętowych. Dlatego jest słowo volatile. I swoją
    >> drogą tylko dlatego ;)
    > Nie tylko. Także na wypadek modyfikacji zmiennej przez procedurę obsługi
    > przerwania.

    Wpadłeś w pułapkę.

    Nie.

    volatile nie służy do tego.

    Do tego, co piszesz, służa bariery/fence.

    > W głównym programie w ramach optymalizacji zmienna może
    > zostać skopiowana do rejestru aby obliczenia wykonywać na nim a nie na
    > pamęci. Gdy w tym momencie pojawi się przerwanie, zmodyfikowana zostanie
    > stara kopia zmiennej.

    Jeśli potraktujesz przerwania jako wątki preemptive, to tak naprawdę
    piszesz o zagadnieniu dostępu do zmiennych przez kilka watków. Tego
    zagadnienia *NIE* należy rozwiązywać za pomocą volatile, ono nie
    powstało do tego i sie do tego NIE nadaje.

    https://stackoverflow.com/questions/4557979/when-to-
    use-volatile-with-multi-threading

    "Short & quick answer: volatile is (nearly) useless for
    platform-agnostic, multithreaded application programming. It does not
    provide any synchronization, it does not create memory fences, nor does
    it ensure the order of execution of operations. It does not make
    operations atomic. It does not make your code magically thread safe.
    volatile may be the single-most misunderstood facility in all of C++."

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: