Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #123829
| From | boltar@caprica.universe |
|---|---|
| Newsgroups | comp.lang.c++ |
| Subject | Re: std::atomic work as volatile, or not, I think not... |
| Date | 2026-05-11 15:08 +0000 |
| Organization | A noiseless patient Spider |
| Message-ID | <10tsrcj$4pi$1@dont-email.me> (permalink) |
| References | (1 earlier) <10trspj$t8pr$2@dont-email.me> <10ts3vt$3v1g3$1@dont-email.me> <10ts5ur$updt$2@dont-email.me> <10tscpt$3vdv3$1@dont-email.me> <10tse1h$11bk8$1@dont-email.me> |
On Mon, 11 May 2026 13:20:17 +0200 David Brown <david.brown@hesbynett.no> gabbled: >On 11/05/2026 12:59, boltar@caprica.universe wrote: >> On Mon, 11 May 2026 11:02:19 +0200 >> The underlying implementation will be the same. > ><https://cppreference.com/cpp/thread#Semaphores> ><https://cppreference.com/cpp/atomic/atomic> > >I don't know how you can see them as being similar, unless by "the >underlying mechanism" you mean memory accesses along with >processor-specific features like bus lock prefixes, >load-locked/store-conditional sequences, CAS operations, memory barrier >instructions, etc. Nice cut and paste. Yes, I'm talking about the CPU level. >In particular, semaphores have blocking support - you can block until a >semaphore is available. Atomics do not block, and are critical to >non-blocking algorithms. And? Semaphores don't have to block. >>> critical sections or other more expensive operations. Read up about >>> non-blocking or lock-free algorithms. >> >> An atomic/semaphore is just a lock on a single value by another name. > >Neither of them are locks. They're locks in the sense that nothing else can touch the value while the current thread is updating it. So if another thread tries it'll be blocked. You can call it what you like but locking seems a good enough word to me. >> Also IIRC the "+=" operation isn't atomic with std::atomic which is a bit >> of a joke. >> > >The operator "+=" on std::atomic integer and pointer types is defined as >"fetch_add(arg) + arg" - the operation on the atomic variable is atomic. Its not atomic at the code level so its effectively useless.
Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
std::atomic work as volatile, or not, I think not... "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-10 21:51 -0700
Re: std::atomic work as volatile, or not, I think not... David Brown <david.brown@hesbynett.no> - 2026-05-11 08:25 +0200
Re: std::atomic work as volatile, or not, I think not... boltar@caprica.universe - 2026-05-11 08:28 +0000
Re: std::atomic work as volatile, or not, I think not... David Brown <david.brown@hesbynett.no> - 2026-05-11 11:02 +0200
Re: std::atomic work as volatile, or not, I think not... boltar@caprica.universe - 2026-05-11 10:59 +0000
Re: std::atomic work as volatile, or not, I think not... David Brown <david.brown@hesbynett.no> - 2026-05-11 13:20 +0200
Re: std::atomic work as volatile, or not, I think not... Bonita Montero <Bonita.Montero@gmail.com> - 2026-05-11 13:22 +0200
Re: std::atomic work as volatile, or not, I think not... "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-11 13:00 -0700
Re: std::atomic work as volatile, or not, I think not... boltar@caprica.universe - 2026-05-11 15:08 +0000
Re: std::atomic work as volatile, or not, I think not... David Brown <david.brown@hesbynett.no> - 2026-05-11 22:19 +0200
Re: std::atomic work as volatile, or not, I think not... "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-11 13:25 -0700
Re: std::atomic work as volatile, or not, I think not... scott@slp53.sl.home (Scott Lurndal) - 2026-05-11 15:48 +0000
Re: std::atomic work as volatile, or not, I think not... "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-11 13:09 -0700
Re: std::atomic work as volatile, or not, I think not... Bonita Montero <Bonita.Montero@gmail.com> - 2026-05-11 13:21 +0200
Re: std::atomic work as volatile, or not, I think not... "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-11 12:48 -0700
Re: std::atomic work as volatile, or not, I think not... red floyd <no.spam.here@its.invalid> - 2026-05-11 21:04 -0700
Re: std::atomic work as volatile, or not, I think not... "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-14 00:35 -0700
Re: std::atomic work as volatile, or not, I think not... cross@spitfire.i.gajendra.net (Dan Cross) - 2026-05-11 11:53 +0000
Re: std::atomic work as volatile, or not, I think not... David Brown <david.brown@hesbynett.no> - 2026-05-11 15:18 +0200
Re: std::atomic work as volatile, or not, I think not... Bonita Montero <Bonita.Montero@gmail.com> - 2026-05-11 15:20 +0200
Re: std::atomic work as volatile, or not, I think not... "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-11 12:54 -0700
Re: std::atomic work as volatile, or not, I think not... "Fred. Zwarts" <F.Zwarts@HetNet.nl> - 2026-05-11 11:46 +0200
Re: std::atomic work as volatile, or not, I think not... David Brown <david.brown@hesbynett.no> - 2026-05-11 12:40 +0200
Re: std::atomic work as volatile, or not, I think not... Chris Ahlstrom <OFeem1987@teleworm.us> - 2026-05-11 06:55 -0400
Re: std::atomic work as volatile, or not, I think not... "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-12 12:14 -0700
Re: std::atomic work as volatile, or not, I think not... scott@slp53.sl.home (Scott Lurndal) - 2026-05-11 15:49 +0000
Re: std::atomic work as volatile, or not, I think not... "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-05-11 12:36 -0700
csiph-web