> Will it work (i.e. be atomic) if I nest them into one another?
Only if you know a way of nesting one bus transaction into another…
i.e. InterlockedExchange(Array[InterlockedIncrement(x)], value)
I guess no more questions about your “understanding” are needed here…
Anton Bassov