"Martijn Sipkema" <msipkema(a)sipkema-digital.com> writes:
(the lock-free ringbuffer is a special case since the
only
synchronizing that is done, i.e. read/write access to an int, is
done by the processor. I'm not convinced that this will work on all
architectures)
I can't think of any architecture on which concurrent reads and writes
of a single int do not work. Do you know an example?
Note that the ringbuffer does *not* require "strong ordering" of
storage operations, just atomicity of reads and writes to a single
location, so you either get the new value or the old one and not some
mixed-up in-between garbage.
There are many more important portability issues to worry about than
that one. But comparison, assuming that mutexes always provide
priority inheritance is highly questionable and non-portable.
--
joq