2019-06-12

2019-06-12  本文已影响0人  吃块西瓜写代码

java同步二

synchronized(obj)
块有四种

  1. 局部块
  2. 构造块 初始化对象信息
  3. 静态块 初始化类,先于对象
  4. 同步块 加入synchronized Obj为同步监视器。
synchronized(obj){
代码,
}

···
package lib;

import java.util.ArrayList;
import java.util.List;
import java.util.Vector;

/*

*/
public class Syno {
public static void main(String[] args) {
List<String> a= new ArrayList<String>();
for(int i = 0; i<10000;i++) {
new Thread(()->{
synchronized (a) {
a.add(Thread.currentThread().getName());
}//锁的对象就是要修改的对象
}).start();

    }
    try {
        Thread.sleep(1000);
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    System.out.println(a.size());
}

}
···

上一篇下一篇

猜你喜欢

热点阅读