关于atomic_set(v,i)的问题

atomic_set(v,i)

这里的 i 是局部的,不会有共享冲突,只有 v 才是共享访问的。


中的v必须是atomic_t;
typedef struct { volatile int counter; } atomic_t;


"比如要把int32类型的变量 i 设置成 j,必须经过两条指令:
mov eax,j //j是不要紧的
mov i,eax //需要保护的是i
"

volatile 保证直接对 counter内存位置操作,从而保证原子性.

你可能感兴趣的:(linux,嵌入式Linux内核移植,netfilter体系架构)