🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #267849

Re: Ciemna strona C++

#267849
From: Maciej Sobczak
Date: Thu, 06 Dec 2007 21:00
35 lines
3704 bytes
On 6 Gru, 17:10, Sektor van Skijlen
<ethou...@guess.if.gmail.com.is.valid.or.invalid> wrote:

> > Wiesz co to jest coś takiego, jak memory ordering? Wiesz co to jest memory
> > barrier (znane czasem jako memory fence)? Co to jest acquire semantics, co
> > to release semantics?
>
> Oczywiście, że wiem. W przypadku mojej aplikacji jednak nie ma to akurat
> żadnego znaczenia - każda dana volatile ma swoje niezależne znaczenie i fakt,
> że jedna została dosynchronizowana, a druga nie, nie ma żadnego znaczenia.

To jest w takim razie szczególna własność Twojej aplikacji a nie
ficzer modyfikatora volatile.

> > Ponieważ w GCC volatile nie ma memory barrier to jeden procesor może widzieć
> > zapisy w innej kolejności niż się faktycznie wydarzyły.
>
> Super. A co MA memory barrier?

W szczególności jawnie obsłużony mutex - i to jest poziom, na którym
normalne programy powinny operować.

W systemach Uniksowych z "normalną" pamięcią można też przyjąć, że
bariera jest wymuszana przez I/O lub IPC. Czyli jeśli jesteś w stanie
zapewnić *związek przyczynowo-skutkowy* pomiędzy akcjami dwóch wątków
przy użyciu I/O (np. wpisując coś do pipy w jednym wątku a czytając w
drugim), to ten związek przyczynowo-skutkowy odnosi się też do
modyfikacji i widoczności zmian *innych* danych dzielonych przez te
wątki. To nie jest jawnie gwarantowane przez POSIX, ale na normalnych
systemach można tak przyjąć (bo każda implementacja zapewni to "przy
okazji") i jest to czasem wygodne - np. można użyć pipę do
synchronizacji/sygnalizowania danych w pamięci dzielonej.

--
Maciej Sobczak * www.msobczak.com * www.inspirel.com
Technical Details
Message-ID: <4d1bbf43-5397-4e1d-85b1-a61dd07b5b01@d21g2000prf.googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!news.nask.pl!news.nask.org.pl!news.uni-stuttgart.de!news.belwue.de!news.n-ix.net!newsfeed.freenet.de!newspeer1.nwr.nac.net!border2.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!postnews.google.com!d21g2000prf.googlegroups.com!not-for-mail
References: <fghgeo$spf$1@nemesis.news.tpi.pl> <fgv6ba$k14$1@bozon2.softax.pl> <fgvkne$u3b$1@news.vectranet.pl> <fh1tjd$dtt$1@bozon2.softax.pl> <fh2lj6$qkh$1@news.vectranet.pl> <fha3as$pap$1@bozon2.softax.pl> <fhaj8u$e02$1@news.vectranet.pl> <fhf09d$ohq$1@bozon2.softax.pl> <fhfi9l$640$1@news.vectranet.pl> <fhurmu$5d9$1@bozon2.softax.pl> <fhv020$8k1$1@news.vectranet.pl> <fi1bs4$nn3$1@bozon2.softax.pl> <fi27ds$gt1$1@kujawiak.man.lodz.pl> <fi458p$fmv$1@bozon2.softax.pl> <fi9ckc$2u5$1@kujawiak.man.lodz.pl> <fimb7n$80v$1@bozon2.softax.pl> <fj5k6j$r3e$1@kujawiak.man.lodz.pl> <1196847281.22322.24.camel@qrnik> <fj6in8$mij$2@kujawiak.man.lodz.pl> <fj6m8p$b7e$1@bozon2.softax.pl> <fj96ug$7e4$3@kujawiak.man.lodz.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!news.nask.pl!news.nask.org.pl!news.uni-stuttgart.de!news.belwue.de!news.n-ix.net!newsfeed.freenet.de!newspeer1.nwr.nac.net!border2.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!postnews.google.com!d21g2000prf.googlegroups.com!not-for-mail
From: Maciej Sobczak <see.my.homepage@gmail.com>
Newsgroups: pl.comp.lang.c
Subject: Re: Ciemna strona C++
Date: Thu, 6 Dec 2007 13:00:35 -0800 (PST)
Organization: http://groups.google.com
Lines: 46
Message-ID: <4d1bbf43-5397-4e1d-85b1-a61dd07b5b01@d21g2000prf.googlegroups.com>
References: <fghgeo$spf$1@nemesis.news.tpi.pl> <fgv6ba$k14$1@bozon2.softax.pl>  <fgvkne$u3b$1@news.vectranet.pl> <fh1tjd$dtt$1@bozon2.softax.pl>  <fh2lj6$qkh$1@news.vectranet.pl> <fha3as$pap$1@bozon2.softax.pl>  <fhaj8u$e02$1@news.vectranet.pl> <fhf09d$ohq$1@bozon2.softax.pl>  <fhfi9l$640$1@news.vectranet.pl> <fhurmu$5d9$1@bozon2.softax.pl>  <fhv020$8k1$1@news.vectranet.pl> <fi1bs4$nn3$1@bozon2.softax.pl>  <fi27ds$gt1$1@kujawiak.man.lodz.pl> <fi458p$fmv$1@bozon2.softax.pl>  <fi9ckc$2u5$1@kujawiak.man.lodz.pl> <fimb7n$80v$1@bozon2.softax.pl>  <fj5k6j$r3e$1@kujawiak.man.lodz.pl> <1196847281.22322.24.camel@qrnik>  <fj6in8$mij$2@kujawiak.man.lodz.pl> <fj6m8p$b7e$1@bozon2.softax.pl>  <fj96ug$7e4$3@kujawiak.man.lodz.pl>
NNTP-Posting-Host: 85.3.69.159
Mime-Version: 1.0
X-Trace: posting.google.com 1196974835 16778 127.0.0.1 (6 Dec 2007 21:00:35 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Thu, 6 Dec 2007 21:00:35 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: d21g2000prf.googlegroups.com; posting-host=85.3.69.159;  posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US;  rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9,gzip(gfe),gzip(gfe)
X-Original-Bytes: 3642
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit