linux原子操作实现lock锁功能
2016-12-30 14:04
281 查看
转载请注明: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;
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;
相关文章推荐
- 个人学习笔记---linux原子操作的实现原理
- linux中原子操作实现方式
- linux实现原子操作的内建函数
- linux 获取文件元数据、文件夹的操作、ls功能实现
- 利用文件操作的系统调用 实现 Linux 中的cp 功能
- Linux的原子操作以及LOCK前缀
- Linux 原子操作实现
- Linux2.6内核的原子操作的实现
- Linux 互斥锁、原子操作实现原理
- Linux利用PROMPT_COMMAND实现操作记录的功能
- 没有atomic.h后如何在linux实现原子操作
- Linux并发与同步(一)原子操作/spinlock/mutex
- 【Linux】linux内核原子操作的实现
- Linux 文件操作监控inotify功能及实现原理【转】
- Linux-arm原子操作的实现
- linux实现原子操作的内建函数
- (转)没有atomic.h后如何在linux实现原子操作
- Linux 互斥锁、原子操作实现原理
- 没有atomic.h后如何在linux实现原子操作
- Linux下原子操作(信号量 自旋锁)的实现原理和底层代码分析