1、不可以被中断
2、基本数据类型除了long和double之外,读其的读写都是原子的。如果设置long和double为volatile则也是原子的。
3、java现在有AutomicInteger等原子类。
4、我认为java多线程的原子性意味着两方面:
1、存在互斥机制 (long的访问实际上是多余一条指令,那么多线程访问的话势必存在中间状态,所以存在互斥机制)
2、不可被中断(我理解的是一定要运行完,才能被调度器调度到ready)(long的访问实际上是多余一条指令,因为存在互斥机制,如果执行中被调度器调度到ready状态那么势必会等待很长时间,所以应该是不可被中断)
时间: 2024-10-25 11:37:57