java中有两种,一种是synchronized修饰的方法(大大影响效率)
另一种是 synchronized()块
synchronized(this)
1.当有多个线程访问 object synchronized 块时,某一时刻只能有一个线程访问,其他线程必选等待该线程访问结束后,才能访问。
2.当一个线程访问 object synchronized 块时,其他线程仍然可以访问非 synchronized 块。
3.当一个线程访问 object 某一个synchronized 块时,其他线程任然不可以访问 该 object 的其他非 synchronized 块
4.synchronized(other)同样适用以上三条