说说java的同步synchronized
java的synchronized关键字有多种用法,同步方法,同步对象,同步代码块,同步类等等,对初学者来说可能会有点乱,但归根结底还是对象(或者类)的同步,线程获取的是某个对象的锁,而不是方法的锁,也不是代码块的锁。在这做一个比喻,一个对象A就像一个持有一把钥匙的人,有很多其他人(线程)想通过一扇或几扇门,这些门都被这个对象锁起来了(synchronized(A)),钥匙只有一把,一把钥匙可以开全部被A锁上了的门。任何一个人想要通过其中一道门,都需要向对象拿钥匙,此人拿了钥匙之后,如果还有其他人想通过此门
复制链接