首先,查书看了一下原子操作的概念,自己编了一程序试了一下,果然,在C#中除了int型的赋值支持原子操作,其他的应该都需要同步锁定。
测试代码如下:








































































不过让人郁闷的是微软的System.Threading.InterLocked类,本来想用它替换Lock方法的,但测了一下其性能,发现对long型的操作竟然比lock还要慢,倒。。。

















































下面是测试结果:
28750000
33437500
汗。。。不知道微软怎么处理的。因为在对int型的测试中,InterLocked比lock要快一个数量级呢。。。