1. 程式人生 > >linux原子操作實現lock鎖功能

linux原子操作實現lock鎖功能

轉載請註明:http://blog.csdn.net/fuqiangnxn/article/details/53942136

int g_intlock = 0; //鎖變數

//下面程式碼為實現鎖的功能

int ivalue;

while(1)

{

    ivalue = __sync_val_compare_and_swap(&g_intlock,0,1); 

    if(ivalue == 0)

    {

        ///--需要鎖住的程式碼

        break;

    }

    pthread_yield();//或者sched_yield();

}

g_intlock = 0;