• 【JAVA SE基础篇】59.同步块、并发容器和死锁


    1.同步块

    同步块(synchronized(obj)){  },obj称之为同步监视器

      1.obj可以是任何对象,但是推荐使用共享资源作为同步监视器

      2.同步方法中无需指定同步监视器,因为同步方法的同步监视器时this即该对象本身,或class即类的模子

    同步监视器执行过程

      1.第一个线程访问,锁定同步监视器,执行其中代码

      2.第二个线程访问,发现同步监视器被锁定,无法访问

      3.第一个线程访问完毕,解锁同步监视器

      4.第二个线程访问,发现同步监视器未锁,访问并锁定

    注:java中四大块:局部块,构造块,静态块,同步块。

     例:

     2.并发容器

    3.死锁

    多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能进行,

    而导致两个或者多个线程都在等待对方释放资源,都停止执行的情形。某一个同步块同时拥有

    "两个以上对象的锁"时,就可能会发生死锁的问题

    例:

  • 相关阅读:
    一句话开启XP_CMDSHELL
    CF14B Young Photographer 题解
    sql 存储过程与函数区别
    sql索引
    分区表中毒,重装系统
    面试
    XML范例的应用(转载)
    数据结构题目
    网页加载速度的方法和技巧
    设计模式分类
  • 原文地址:https://www.cnblogs.com/chengkuan/p/13332668.html
Copyright © 2020-2023  润新知