在多线程中最重要的问题就是解决共享资源的同步问题,这个时候就要用到synchronized了,synchronized的作用就是保证当前资源仅可以进入一个线程,处理完之后另一个线程再进入,而不是多个线程都可以使用共享资源,这样的话,这个改那个也改,就无法保证数据的同步了。

1.synchronized的概念

java多线程10-synchronized_多线程
image.png
java多线程10-synchronized_多线程_02
image.png
java多线程10-synchronized_多线程_03
image.png
java多线程10-synchronized_多线程_04
image.png

2.synchronized底层实现原理

java多线程10-synchronized_底层实现_05
image.png
java多线程10-synchronized_其他_06
image.png
java多线程10-synchronized_底层实现_07
image.png
java多线程10-synchronized_多线程_08
image.png
java多线程10-synchronized_其他_09
image.png

java多线程10-synchronized_其他_10
image.png
java多线程10-synchronized_其他_11
image.png
java多线程10-synchronized_其他_12
image.png
java多线程10-synchronized_底层实现_13
image.png
java多线程10-synchronized_其他_14
image.png
java多线程10-synchronized_多线程_15
image.png