Article View: pl.comp.programming
Article #217331Re: zapytanie o thready
From: fir
Date: Wed, 06 Jan 2021 15:38
Date: Wed, 06 Jan 2021 15:38
37 lines
3910 bytes
3910 bytes
środa, 6 stycznia 2021 o 16:29:44 UTC+1 fir napisał(a):
> ś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
przez powinno mam na mysli ze odpalilem to i dzialalo (ale nie ejestem pewien czy nei przegapilem jakichs wzglednych subtelnosci), current to oczywoscie odpowiada numerowi ramki obrazu w symulacji ktora dzialac ma na okolo 50-120 fps na jednym watku zajmowala ok 30 ms na ramke wiec w optymalnym podziale roboty powinno wyjsc po 15 ms na rdzen na dwurdzeniaku... nie mierzylem czasu tylko patrzylem na oko czy jest szybciej i wylogowalem tez stany tych ready i current do loga textowego i na oko wygladalo ok
aczkolwiek zawsze jak ktos wie co tu sie moze realnie chcrzaic to wiedza o detalach mile widziana
(fir)
Technical Details
Message-ID:
<c75e38fd-cdcf-4105-bbd5-8b257360474en@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!peer01.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!google-groups.googlegroups.com!not-for-mailReferences:
<dc44c5f3-c692-4567-ae8b-325b8339290fn@googlegroups.com> <rt4e4d$os9$1@dont-email.me> <84876f67-0de5-4823-ae51-872b74a498adn@googlegroups.com> <rt4f0b$t0t$1@dont-email.me> <28d25254-32ea-483d-87e9-e7e584453c8en@googlegroups.com> <1f0fc527-0a76-444d-9d8b-b54891da2020n@googlegroups.com> <rt4jma$1j5$1@dont-email.me> <47e4ef57-8104-4fe5-8d06-e03c66428bcfn@googlegroups.com>Show Full Headers
Complete Article Headers
X-Received: by 2002:a0c:fdec:: with SMTP id m12mr4604383qvu.11.1609947494451; Wed, 06 Jan 2021 07:38:14 -0800 (PST) X-Received: by 2002:a37:7a46:: with SMTP id v67mr4794596qkc.16.1609947494294; Wed, 06 Jan 2021 07:38:14 -0800 (PST) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!peer01.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!google-groups.googlegroups.com!not-for-mail Newsgroups: pl.comp.programming Date: Wed, 6 Jan 2021 07:38:14 -0800 (PST) In-Reply-To: <47e4ef57-8104-4fe5-8d06-e03c66428bcfn@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: google-groups.googlegroups.com; posting-host=5.172.255.115; posting-account=Sb6m8goAAABbWsBL7gouk3bfLsuxwMgN NNTP-Posting-Host: 5.172.255.115 References: <dc44c5f3-c692-4567-ae8b-325b8339290fn@googlegroups.com> <rt4e4d$os9$1@dont-email.me> <84876f67-0de5-4823-ae51-872b74a498adn@googlegroups.com> <rt4f0b$t0t$1@dont-email.me> <28d25254-32ea-483d-87e9-e7e584453c8en@googlegroups.com> <1f0fc527-0a76-444d-9d8b-b54891da2020n@googlegroups.com> <rt4jma$1j5$1@dont-email.me> <47e4ef57-8104-4fe5-8d06-e03c66428bcfn@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <c75e38fd-cdcf-4105-bbd5-8b257360474en@googlegroups.com> Subject: Re: zapytanie o thready From: fir <profesor.fir@gmail.com> Injection-Date: Wed, 06 Jan 2021 15:38:14 +0000 X-Received-Bytes: 4021 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit