eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingzapytanie o threadyRe: zapytanie o thready
  • X-Received: by 2002:a0c:8445:: with SMTP id l63mr4676833qva.60.1609946982588; Wed, 06
    Jan 2021 07:29:42 -0800 (PST)
    X-Received: by 2002:a0c:8445:: with SMTP id l63mr4676833qva.60.1609946982588; Wed, 06
    Jan 2021 07:29:42 -0800 (PST)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erj
    e.net!feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!peer02.ams1!
    peer.ams1.xlned.com!news.xlned.com!peer03.iad!feed-me.highwinds-media.com!news.
    highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!goo
    gle-groups.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Wed, 6 Jan 2021 07:29:42 -0800 (PST)
    In-Reply-To: <rt4jma$1j5$1@dont-email.me>
    Complaints-To: g...@g...com
    Injection-Info: google-groups.googlegroups.com; posting-host=5.172.255.115;
    posting-account=Sb6m8goAAABbWsBL7gouk3bfLsuxwMgN
    NNTP-Posting-Host: 5.172.255.115
    References: <d...@g...com>
    <rt4e4d$os9$1@dont-email.me>
    <8...@g...com>
    <rt4f0b$t0t$1@dont-email.me>
    <2...@g...com>
    <1...@g...com>
    <rt4jma$1j5$1@dont-email.me>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <4...@g...com>
    Subject: Re: zapytanie o thready
    From: fir <p...@g...com>
    Injection-Date: Wed, 06 Jan 2021 15:29:42 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    X-Received-Bytes: 3119
    Xref: news-archive.icm.edu.pl pl.comp.programming:215299
    [ ukryj nagłówki ]

    środa, 6 stycznia 2021 o 16:06:52 UTC+1 heby napisał(a):
    > On 06/01/2021 15:41, fir wrote:
    > > ze mozna synchronizowac watki nawet bez atomikow
    > W ogómym przypadku to nie jest skuteczne. W przypadku architektury x86
    > może być czasem możliwe.
    >
    > W bardzo ogólnym wypadku wymagany jest choć fence, który trzeba jawnie
    > uzyć w kodzie programu. Taki mechanizm w CPU który zapewnia
    > synchronizację dostępu do pamięci między różnymi rdzeniami i cache.
    >
    > Tak więc ogólnie rzecz biorąc nie da się zrobić sensownej synchronizacji
    > tylko na spilockach bo to zależy na czym to ma pracować. Zwyczajowo w
    > świecie wielordzeniowym trzeba się badziej postarać niż while(!flag) { }.

    while z pust apetla bym nei uzyl ale ze sleepem 2-3 milisekundy nie wydaje mi sie juz
    tak glupie..ogolne programowanie tez mnie nie kreci bo ogolne programowanie to zle
    porogramowanie bo w ogolnosci nie dziala optymalnie na specyficznych maszynach ;c

    schemat btw raczej jaki wymodzilem byl raczej taki

    int ready = 0;
    do
    {
    while(current<ready) { sleep(2); }
    do_work();
    ready++;
    } whie(1);

    cos w tym stylu, robota dzielona na porcje numerowane liczba naturalna, current
    zaczyna sie od -1,
    boczne watki czekaja na sleepach; glowny thread robi current++ do 0 wati ruszaja az
    ustawia ready na 1
    glowny watek sprawdza czy wszystkie maja ready wieksze niz current jesli tak popycha
    current itd

    w moim przekonaniu to raczej chyba powinno dzialac

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

  • 06.01.21 16:38 fir
  • 07.02.21 12:53 M.M.

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: