是这样,Java在同一个时钟周期内,可能有多个线程跑在不同的CPU,那么各个CPU寄存器、各级缓存上的关键数据就需要volatile关键字这个特性来及时同步到内存。而Python不存在这个问题,由于全局解释器锁GIL的存在,同一个时钟周期内,确保只能由一个线程在跑,不存在多个线程跑在不同的CPU上,所以CPU寄存器和各级缓存上的所有数据最终都会同步到内存上的一个HEAP当中。希望能帮助到你。
是这样,Java在同一个时钟周期内,可能有多个线程跑在不同的CPU,那么各个CPU寄存器、各级缓存上的关键数据就需要volatile关键字这个特性来及时同步到内存。
而Python不存在这个问题,由于全局解释器锁GIL的存在,同一个时钟周期内,确保只能由一个线程在跑,不存在多个线程跑在不同的CPU上,所以CPU寄存器和各级缓存上的所有数据最终都会同步到内存上的一个HEAP当中。
希望能帮助到你。