Java并发编程的艺术
fanxin_i
这个作者很懒,什么都没留下…
展开
-
Java内存模型
typora-copy-images-to: …\img Java内存模型 在并发编程中,需要处理两个关键的问题: 线程之间是如何通信的。 线程之间是如何同步的。 线程之间的通信是指线程之间通过何种机制来进行信息的传递,目前有两种方式通过进行线程间的通信 共享内存的方式:通过写-读共享内存中的公共状态来进行隐式的通信。 消息传递的方式:在基于消息传递的并发模型里,线程之间没有共...原创 2019-04-17 22:16:26 · 505 阅读 · 0 评论 -
Java并发编程基础之线程详解
文章目录Java并发编程之线程详解1.什么是线程?2.为什么要使用多线程3.线程的状态4.线程的生命周期4.1线程的创建4.2 线程的启动4.3 线程的中断4.4 线程的暂停、恢复和停止5.线程间的通信5.1 利用volitale和synchonized关键字5.2 等待通知机制5.3 等待/通知的经典范式5.4 管道输入输出流 Java并发编程之线程详解 1.什么是线程? 现代操作系统在运...原创 2019-04-22 15:08:18 · 874 阅读 · 0 评论 -
volitile和synchronized的应用和实现原理
typora-copy-images-to: …\img 文章目录Java并发机制的底层原理实现简要volatile的应用定义:我理解的volitile实现原理:详解synchronized的应用synchronized实现同步的基础:java对象头锁的状态轻量级锁轻量级锁的加锁过程轻量级锁解锁解锁过程偏向锁偏向锁获取过程:偏向锁的释放:重量级锁、轻量级锁和偏向锁之间转换 Java并发机制的底...原创 2019-04-02 09:35:36 · 1020 阅读 · 0 评论 -
阻塞队列
在JDK7中,有7中阻塞队列 ArrayBlockingQueue 一个由数组组成的有界阻塞队列 LinkedBlockingQueue 一个由链表结构组成的队列 PriorityBlockingQueue 一个支持优先级排序的无界阻塞队列 DelayQueue 一个使用优先级队列实现的无界阻塞队列 S...原创 2018-04-23 11:41:56 · 162 阅读 · 0 评论 -
java中锁的内存语义及其实现
锁的内存语义 众所周知,锁可以实现临界区的互斥执行。 java中锁的内存语义和volatile的内存语义类似,其加锁的内存语义和volatile读内存语义相同,其解锁的内存语义和volatile写的内存语义相同,而java锁内存语义的实现又和volatile有着千丝万缕的联系,我们接下来就一起解开java锁的神秘面纱。 锁的释放: 当线程释放锁时,JMM会...原创 2019-04-01 17:01:53 · 326 阅读 · 0 评论 -
java中的锁
typora-copy-images-to: …\img 文章目录java中的锁1. java加锁的方式1.1 两者的区别2. 锁的使用方法:2.1 sychonized2.2 Lock3. 队列同步器3.1 AQS的接口与示例3.2使用AQS实现自定义组件独占锁4 .队列同步器的实现分析4.1 同步队列4.1.1 Node4.1.2队列结构4.2 独占式同步状态获取与释放4.2.1 获取4....原创 2019-05-06 16:46:16 · 1002 阅读 · 0 评论