美文网首页
java并发编程之美读后笔记

java并发编程之美读后笔记

作者: xueseyounai | 来源:发表于2020-01-16 11:32 被阅读0次

1.AQS理解

目前理解:AQS就是一个工具类,提供的是如何安全的获取state的状态值,以及存放阻塞线程的方法,所有能够实现锁的类都是基于AQS,不同的就是state这个状态值的意义,比如对于ReentrantLock这个类来说state=0代表没有被谁占有,而>0代表被锁住了,

2.ReentrantLock的Condition实例(条件)

对于synchronized的锁,线程间的通信主要依靠wait,notify,notifyAll;这是JVM的内部锁;

而对于lock这种显示锁,线程间的通信就是依靠Condition来实现的

//await、signal、signalAll 与 wait、notify、notifyAll相对应

//await---------wait

//signal--------notify

//signalAll------notifyAll相对应

3.线程中断

1.线程中断并不会中断线程的运行,只会让线程根据中断标志,自行处理;

2.线程中断在以下情况下会抛出异常

wait系列方法

join方法

sleep方法

这里可以简单的认为,阻塞的线程调用线程中断方法会抛出异常,之所以要提到这一点是因为之后的一系列的可获取中断锁的类都是利用了这一点特性

4.锁对象

1.synchronized

-- 修饰方法,锁的是这个对象

    -- 修饰代码块,锁的是这个对象

        --修饰类,锁的是这个类的所有实例

--修饰静态,锁的是这个类的所有实例

    2.ReentrantLock

锁的是这个对象,通过对这个对象的state状态,以及是否是当前线程的条件来达到锁的条件,简单的来说就是锁的是在代码中reentrantLock这个对象

相关文章

  • java并发编程之美读后笔记

    1.AQS理解 目前理解:AQS就是一个工具类,提供的是如何安全的获取state的状态值,以及存放阻塞线程的方法,...

  • 并发编程之美-终章chat

    一、Java 并发编程之美:并发编程高级篇之五 微信扫码二维码加入本 Chat 作为 Java 并发编程之美系列的...

  • Java并发编程之美系列汇总

    Java并发编程之美系列汇总,大家可以挑选自己感兴趣的的进行订阅。 Java 并发编程之美:线程相关的基础知识ht...

  • 读 GitChat 线程三部曲 笔记

    GitChat线程三部曲 Java 编程之美 - 线程相关的基础知识 Java 编程之美:并发编程高级篇之一 Ja...

  • 《Java并发编程之美》阅读笔记

    简介 最近在阅读《Java并发编程之美》这本书,为了督促自己啃完这本书,计划每读完一章写一篇阅读笔记,供以后参考。...

  • 《Java并发编程之美》学习笔记

    1. 并发编程基础 1.1 什么是线程 线程是进程中的一个实体,线程本身是不会独立存在的。进程是代码在数据集合上的...

  • Java并发编程之美

    一、前言 并发编程相比 Java 中其他知识点学习门槛较高,从而导致很多人望而却步。但无论是职场面试,还是高并发/...

  • Synchronized与Lock的区别

    其他:并发编程之ThreadLocal、Volatile、Synchronized、Atomic关键字Java并发...

  • Java

    一、注解 二、泛型 三、java并发编程之volatile

  • Java并发编程之Java内存模型

    该文章属于《Java并发编程》系列文章,如果想了解更多,请点击《Java并发编程之总目录》 一、并发的起源 为了提...

网友评论

      本文标题:java并发编程之美读后笔记

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