我们可以思考一下,问题的本质在于共享数据存在并发访问。如果我们能够有一种方法使得线程的并行变成串行,那是不是就不存在这个问题呢?
按照大家已有的知识,最先想到的应该就是锁吧。
毕竟这个场景并不模式,我们在和数据库打交道的时候,就了解过悲观锁、乐观锁的概念。 什么是锁?它是处理并发的一种同步手段,而如果需要达到前面我们说的一个目的,那么这个锁一定需要实现互斥的特性。
Java提供的加锁方法就是Synchroinzed关键字。
我们可以思考一下,问题的本质在于共享数据存在并发访问。如果我们能够有一种方法使得线程的并行变成串行,那是不是就不存在这个问题呢?
按照大家已有的知识,最先想到的应该就是锁吧。
毕竟这个场景并不模式,我们在和数据库打交道的时候,就了解过悲观锁、乐观锁的概念。 什么是锁?它是处理并发的一种同步手段,而如果需要达到前面我们说的一个目的,那么这个锁一定需要实现互斥的特性。
Java提供的加锁方法就是Synchroinzed关键字。