原子性

1、不可以被中断

2、基本数据类型除了long和double之外,读其的读写都是原子的。如果设置long和double为volatile则也是原子的。

3、java现在有AutomicInteger等原子类。

4、我认为java多线程的原子性意味着两方面:

       1、存在互斥机制 (long的访问实际上是多余一条指令,那么多线程访问的话势必存在中间状态,所以存在互斥机制)

       2、不可被中断(我理解的是一定要运行完,才能被调度器调度到ready)(long的访问实际上是多余一条指令,因为存在互斥机制,如果执行中被调度器调度到ready状态那么势必会等待很长时间,所以应该是不可被中断)

你可能感兴趣的:(原子性)