原子操作 和Inerlocked 常用于多线程同步
所谓原子操作,即多线程中一旦开始执行就只能执行完毕,无法被中断和暂停的线程操作。
这样就能避免中途变量有改变一类的异常;
Inerlocked属于threading空间。
用法如下:
例如,需要A+B,得出数据存储在A,则:
Interlocked.Add(ref a, b);
需要A递增,则:
Interlocked.Increment(ref a);
总之,interlocked是用在具体的语句上的。lock则用在一定的条件语法,或者方法上;
自动驱动未来