🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #217330

Re: zapytanie o thready

#217330
From: fir
Date: Wed, 06 Jan 2021 15:29
31 lines
3078 bytes
ś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
Technical Details
Message-ID: <47e4ef57-8104-4fe5-8d06-e03c66428bcfn@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!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!google-groups.googlegroups.com!not-for-mail
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>

Show Full Headers
Complete Article Headers
X-Received: by 2002:a05:6214:321:: with SMTP id j1mr4348613qvu.32.1609946982801;        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: 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!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!google-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: 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>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <47e4ef57-8104-4fe5-8d06-e03c66428bcfn@googlegroups.com>
Subject: Re: zapytanie o thready
From: fir <profesor.fir@gmail.com>
Injection-Date: Wed, 06 Jan 2021 15:29:42 +0000
X-Received-Bytes: 3119
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit