volatile 指定して、ついでにThread.MemoryBarrier() も呼んでやらないと
IA64 の SMP とかで困ることになることがあるかもしれない。