 wmb ()      (write barrier). 
  ,    rmb (),     ,   
  ,   ,     -
 ,        .

 mb ()       .  
  ,      ,  mb (),  -
     .    -
,      (   ,  -
  rmb ()),        .

  rmb ()  read_barrier_depends ()   
 ,      ,     
  . ,    ,  
      ,   -
      ,   .  ?
 ,      ,      rmb (),
           , -
    .

     read_barrier_depends () -
  ,   rmb () ,     
 read_barrier_depends ()        -
  ( ).

    mb ()  rmb ().  -
    1,   b  2.

 1                       2

=3;

mb () ;

b=4;                          =;

rmb () ;

d=a;

        -
,          
   b,      d   -
  . ,      4 (   -
),   d    1 (   ). 
 mb ()  ,     b   -
 ,   rmb () ,    b   
   .

       - ,
        
    ,    .
    ,     b   
   .  rmb ()  wmb ()  ,  -
         
,    .

   ,     read_
barrier_depends ()   rmb  .     -
   1, b  2,  &b.

                                                     203