无论是同步方法还是同步代码块,都是只针对一个对象的多线程而言的。只有同一个对象产生的多线程,才会考虑到同步方法或者同步块。
synchronized关键字,它包括两种方法:synchronized方法和synchronized块。
1.synchronized方法:通过在方法声明中加入synchronized关键字来声明synchronized方法。
public synchronized void accessVal(int newVal);
2.synchronized块:通过synchronized关键字来声明synchronized块。
synchronized(syncObject){
//允许访问控制的代码
}