On Thursday, 7 May 2015 at 21:42:08 UTC, Iain Buclaw wrote:
On 7 May 2015 at 23:39, Iain Buclaw <[email protected]> wrote:
When used properly though, it's properties make it a prime candidate for the foundation of libraries/programs that centre around the use of atomics. However, shared is not to be confused with a thread-safe atomic type. Thread-safety is left to the end-user on such matters of
access.


That last sentence should also include a mention of memory ordering
too being left to the end-user.

Thank you for explaining this; it does make sense. :)

-So 'shared' is not to be confused with 'atomic'; its behaviour seems closer to C's "extern", do I understand this correctly ?

One of the reasons I asked the question, is because no doubt D will need to write to hardware on any kind of platform, and I'd like it to be the same on both microcontrollers and a Personal Computer (not limited to a specific kind of processor).

Another thing, slightly related, is 'atomic'. C's implementation allows you to have a function, which reads/modifies/writes a value atomically. This is all implemented 'outside' the C language. Would it make sense to mark a variable 'atomic', or would it be rather crazy, because if it's extern(C) anyway, C wouldn't access it atomically ?

Reply via email to