Hi!

10 февр. 2010, в 21:38, Sergei Golubchik написал(а):
[skip]
Why use my_atomic_store32 ?

As I understood idea of atomic operation it is guaranted that we will
read consistent value (not one byte from one value and other one from
other). Yes I remember your statement that on modern 32bit system you
always get it consistent, then why we made atomic operations at all?

Because my_atomic_store32() also adds a full memory barrier to the
atomic store operation. That is, if you do

  my_atomic_store32(&a, 1);
  my_atomic_store32(&b, 2);

and then in another thread

  if (my_atomic_load32(&b) == 2)
  {
    ...
    here you can be sure that a==1, because a=1 was executed before
    b=2. And neither compiler nor the cpu swapped two assignments.
  }


In other words it is real current value of the variable in all threads. It looks like what I need.
_______________________________________________
Mailing list: https://launchpad.net/~maria-developers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to