5.synchronized {run方法}run方法的锁定.
这个举例比较好说。
public class MyThread implement Runnable{
public void run(){
for(int i=0;i<10;i++){
System.out.println(i+" ");
}
}
}
如果在主程序多线程运行
MyThread t=new MyThread ();
new Thread(t).start();
new Thread(t).start();
new Thread(t).start();
new Thread(t).start();
其结果是混乱不堪的。
如果加了synchronized当前线程取完所有数据后,才会释放锁,所以结果可以预知。4个线程输出总是0,1...9