代码块就不用synchronized 修改方法,在方法里面用。
比如我现在2个线程都访问MyThreadTest3对象的test()方法,在上面的for循环里面2个线程都能同时访问。
如果A线程先访问到下面代码块,那么B线程就要等待A线程结束之后在访问下面的代码块。
所以能够知道
1.A线程访问synchronized代码块的时候,B线程还是能够访问方法非synchronized外的方法的。但是如果B要访问synchronized的话,必须要等A访问结束之后,才能访问
代码块就不用synchronized 修改方法,在方法里面用。
比如我现在2个线程都访问MyThreadTest3对象的test()方法,在上面的for循环里面2个线程都能同时访问。
如果A线程先访问到下面代码块,那么B线程就要等待A线程结束之后在访问下面的代码块。
所以能够知道
1.A线程访问synchronized代码块的时候,B线程还是能够访问方法非synchronized外的方法的。但是如果B要访问synchronized的话,必须要等A访问结束之后,才能访问