java多线程对同一个对象操作时需要加锁,但是计算机进程在cpu交叉执行,线程包含在进程里,线程也是交叉执行,也就是说,同一时刻cpu只会执行一个线程,那么对对象必然是唯一的操作,所以为什么会需要加锁呢??求解释!
8条回答 默认 最新
doggy_coder 2017-11-24 01:50关注最重要得是不是所有操作都是原子操作,你看起来觉得只是一条语句,但是对应可能是多条指令,所以在执行这条语句的指令时,但还没执行完这条语句的所有指令时,随时可能被切换,所以用锁来保证在被切换后,锁没释放前,其它线程也不能执行这段代码
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报