On Saturday, 8 March 2014 at 21:12:42 UTC, Shammah Chancellor wrote:
On 2014-03-08 19:58:01 +0000, Martin said:

On Saturday, 8 March 2014 at 19:02:26 UTC, Shammah Chancellor wrote:
Hi,

I'm interesting in implementing a non-blocking queue. My thought is to use a fixed-size array, and increment back of the queue with a integer. I was thinking I could make this non-blocking via an atomic increment operation before assigning the pushed value onto the queue. So, my question is: How would you do an atomic increment in a cross-platform way in D?


Thanks!
-S.

I think you could use http://dlang.org/phobos/core_atomic.html, maybe?

I didn't see a way to get an an increment operation. atomicOp doesn't seem to offer unitary operations.

-S.

atomicOp!("+=")(value, 1);

Should work, I believe. Or is that not what you meant?

Reply via email to