代码块同步:
防止多个线程无序访问共享资源,将对共享资源进行操作的关键代码放入一个同步代码块中。
syschronized(Object){}
1)当一个线程想进入该对象的关键代码,先获得该对象的锁。若在一个类的代码块里object是this,则该object上锁了
2)一个线程访问object的同步代码,其他线程不可以访问该object其他的syschronized的同步代码块(被暂时阻塞)
3)syschronized 关键字产生的锁最小单位是对象锁
代码块同步:
防止多个线程无序访问共享资源,将对共享资源进行操作的关键代码放入一个同步代码块中。
syschronized(Object){}
1)当一个线程想进入该对象的关键代码,先获得该对象的锁。若在一个类的代码块里object是this,则该object上锁了
2)一个线程访问object的同步代码,其他线程不可以访问该object其他的syschronized的同步代码块(被暂时阻塞)
3)syschronized 关键字产生的锁最小单位是对象锁