自动递增和递减操作符是一种在各种语言中都比较常见的操作符,使用方法无外乎下面几种:
int a = 1 ;
a++;
++a;
a--;
--a;
其中操作符放在前面和后面的意思有所区别,放在后面是先取用这个值后做操作,放在前面正好相反,先做操作后取用这个值。
另外还有一个陷阱需要特别注意,虽然这个操作符看起来像是一个原子操作,但其实自动递增和递减操作符都不是原子操作。执行“a++”其实做了三步操作:
1、把a的值取出来。
2、将a的值加1。
3、再把操作后的值写回去。
所以说,这个操作符所做的并不是原子操作,所以在并发编程的时候要特别注意。