基本介绍
1)java语言中,引入对象互斥锁的概念,来保证共享数据操作的完整性
2)每个对象对应于一个可称为“互斥锁"的标记,这个标记用来保证在任意时刻,只能有一个线程访问该对对象
3)关键字synchronized来与对象的互斥锁联系,当某个对象用synchronized修饰时,表明该对象在任一时刻只能由一个线程访问
4)同步的局限性:导致程序的执行效率要降低(100辆赛车上高速赛道比赛,但前面有关卡只能一辆过)
5)同步方法(非静态的)锁可以是this,也可以是其它对象(要求是同一个对象)
6)同步方法(静态的)的锁为当前类本身
注意事项和细节:
1)同步方法如果没有使用static修饰:默认锁对象为this
2)如果方法使用static修饰,默认锁对象:当前类.class