Synchronized与Lock

启动8个线程:(应用前提示:看下面示例)
主方法:
public static void main(String[] args){
    for(int i=0;i<8;i++){
           DataInit di = new DataInit(i);
           Thread t = new Thread(di);
    try {
           Thread.sleep(1000); 
         } catch (InterruptedException e) {
           e.printStackTrace(); 
     }
     t.start();
   }
}
锁操作:
public class DataInit implements Runnable{

private int i;

public DataInit(int i){
      this.i=i;
}


public synchronized void syninit(int i){

try {
     System.out.println("start-----"+i);
     Thread.sleep(3000);
    System.out.println("end-----"+i);
    } catch (InterruptedException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
 }
}

@Override
public void run() {
this.syninit(i);

}
这样synchronized失去作用

示例自己理解吧

参考网页:
http://blog.csdn.net/zhgflx/article/details/4485848

http://blog.csdn.net/blackartanan/article/details/3839006

猜你喜欢

转载自lf6627926.iteye.com/blog/1328598