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决定

  • 相关阅读:
    Erlang 杂记 IV
    ASP.NET MVC的View是如何被呈现出来的?[设计篇]
    面向对象—在线文件管理模块
    软件开发中个人在团队里的效绩评定
    用go语言遍历文件夹
    磁盘缓存的算法:写算法
    一种Lua到C的封装
    从信息系统界面设计引发的思考
    基于Backbone.js的JavaScript MVC示例程序
    C和C++
  • 原文地址:https://www.cnblogs.com/haoziwoaini/p/5406451.html
Copyright © 2011-2022 走看看