当两个线程同时修改同一个atomic变量时,虽然每个访问都是原子的,但整个操作序列(第一个线程的修改 + 第二个线程的修改)并不是原子的.
这意味着,第一个线程可能会修改变量的值,然后第二个线程在第一个线程的修改完成之前就获取到了变量的值。这样,第二个线程可能会基于旧的值进行操作,从而导致数据不一致.
atomic和nonatomic区别atomic:系统会自动生成setter/getter方法会进行加锁的操作(锁仅仅保证setter/getter存取方法的线程安全).因为setter/getter方法有加锁...