JUC笔记

作者: 牡丹福 | 来源:发表于2018-05-14 08:41 被阅读0次

下面来具体讲解volatile的两条实现原则。

1)Lock前缀指令会引起处理器缓存回写到内存

2)一个处理器的缓存回写到内存会导致其他处理器的缓存无效。

利用synchronized实现同步的基础:Java中的每一个对象都可以作为锁。具体表现

为以下3种形式。

·对于普通同步方法,锁是当前实例对象。

·对于静态同步方法,锁是当前类的Class对象。

·对于同步方法块,锁是Synchonized括号里配置的对象。

锁一共有4种状态,级别从低到高依次是:无锁状态、偏向锁状态、轻量级锁状

态和重量级锁状态,这几个状态会随着竞争情况逐渐升级。锁可以升级但不能降级

处理器如何实现原子操作

第一个机制是通过总线锁保证原子性

第二个机制是通过缓存锁定来保证原子性

 

Java如何实现原子操作

在Java中可以通过循环CAS的方式来实现原子操作。

 

CAS实现原子操作的三大问题

1)ABA问题。2)循环时间长开销大。3)只能保证一个共享变量的原子操作。

 

 

在并发编程中,需要处理两个关键问题:线程之间如何通信及线程之间如何同步

线程之间的通信机制有两种:共享内存消息传递。

 

Java线程之间的通信由Java内存模型(本文简称为JMM)控制

相关文章

  • JUC笔记

    下面来具体讲解volatile的两条实现原则。 1)Lock前缀指令会引起处理器缓存回写到内存 2)一个处理器的缓...

  • JUC源码循序渐进

    目录 必读篇 JUC源码分析—CAS和Unsafe JUC源码分析—AQS JUC锁篇 JUC源码分析-JUC锁(...

  • ConcurrentSkipListMap 学习笔记

    ConcurrentSkipListMap 学习笔记 标签(空格分隔): juc学习 基于跳跃表的线程安全的map...

  • JUC 学习笔记

    JUC :package java.util.concurrent package java.util.con...

  • Java中CAS 基本实现原理

    一、前言 了解CAS,首先要清楚JUC,那么什么是JUC呢?JUC就是java.util.concurrent包的...

  • Java基础(六)-多线程-3

    问: 说说你对JUC的了解JUC是java.util.concurrent的缩写.JUC是Java提供的并发包,其...

  • JUC学习笔记三

    JUC学习笔记三 用于解决多线程同步问题的方式 隐式锁(synchronized) 同步代码块 同步方法 显式锁(...

  • J.U.C

    JUC

  • JUC并发编程引导学习(超长篇)

    JUC并发编程学习 1、什么是JUC juc是Java并发编程的一个工具包,包名为java.util.concur...

  • Java高并发系列——检视阅读(七)

    Java高并发系列——集合 JUC中常见的集合 JUC集合框架图 图可以看到,JUC的集合框架也是从Map、Lis...

网友评论

      本文标题:JUC笔记

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