经典指数          
原因
1430
浏览数
0
收藏数
 

CAS(CompareAndSwap),是用来实现lock-free编程的重要手段之一,多数处理器都支持这一原子操作,其用伪代码描述如下,
template bool CAS(T*addr,T expected,T value)
{
	if(*addr==expected){
		*addr=value;
		return true;
	}
	return false;
}
int count=0;
void count_atomic_inc(int*addr)
{
	int oldval=0;
	int newval=0;
	do{
		oldval=*addr;
		newval=______+1;
	}until CAS(_______,________,_________)
}
请完成下面填空,实现全局计数器的原子递增操作.
  • newval,*addr,*oldval, oldval
  • oldval,*addr,oldval,newval
  • oldval,*addr,oldval,*newval
  • oldval,*addr,newval,oldval

     举报   纠错  
 
切换
1 个答案

oldval , addr , oldval , newval 

第2个参数显然不用加*

 
切换
撰写答案