现代的处理器提供了compare-and-swap原子操作: 
 int compare_and_swap(int * pv, const int cv, const int nv); 
 即比较*pv与cv,如果相等,则把*pv值替换为nv并返回*pv原值,否则返回*pv的值。 
 请利用上述原子操作实现如下操作: 
 int inc_if_gt_zero(int * pv); 
 即如果*pv > 0,则把*pv加1并返回修改后的*pv,否则返回*pv。 
 结果要线程安全且不使用锁、信号灯、互斥量、临界区或类似机制。
                                        
                                                            
                    
                    
                    
                                                        

 
                     
                     
             
                            