美文网首页
2019-06-12

2019-06-12

作者: 吃块西瓜写代码 | 来源:发表于2019-06-12 21:14 被阅读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());
    }
    

    }
    ···

    相关文章

      网友评论

          本文标题:2019-06-12

          本文链接:https://www.haomeiwen.com/subject/ixwrfctx.html