zoukankan      html  css  js  c++  java
  • 锁!代码锁

      一,代码锁

    异步   并发,各干各的     (比如:一群人同时上卡车)

      同步   步调一致的处理      (比如:一群人排队上公交车)

      多个线程并发读写同一个资源的时候会发生“线程并发安全问题”,如果保证多线程同步访问临界资源,就可以解决;

     常见的临界资源:     多线程共享实例量

                                静态公共变量

    使用同步代码块解决线程并发安全问题     synchrenizde(同步监视器){

        }

    同步监视器:1,是一个任意对象的实例;    2,是一个多线程之间的互斥的锁机制

    多线程要使用同一个“监视器”对象实现同步互斥

             synchronizend(this){

       }

     如果方法的全部过程需要同步,可以简单使用   Synchronized   修饰方法;

    相当于整个方法的   synchronized(this)

                尽量减少同步范围,提高并发效率

        二,多线程(Thread)

       线程是最小的运行单位,进程可以包含多个线程;

    rum 方法不能参加参数        多线程是同时()执行;

    状态1,new

    状态2,Start---rum       rum nable可运行状态

    状态3,死亡结束(dead)

    状态4,Running  运行状态

    注释:普通线程程序员没办法干预,由CPU决定

  • 相关阅读:
    git 还原某个文件~~~
    uniqid()
    array_filter 过滤一维中空数组,数组的序列不变
    加密 解密
    gitlab基本维护和使用
    vim 单文件中查找方法
    php数组定义
    $('.goods_tag_ids_all')[0].checked = true;//~~~~~ 单条改变checkbox 属性样式
    由买冰箱想到的
    2014年年终总结
  • 原文地址:https://www.cnblogs.com/haoziwoaini/p/5406451.html
Copyright © 2011-2022 走看看