Java并发编程
A_finder
这个作者很懒,什么都没留下…
展开
-
Java并发编程(三):Java内存模型
从计算机CPU来了解到底什么是内存模型,什么是Java内存模型原创 2019-10-14 00:40:46 · 198 阅读 · 0 评论 -
Java并发编程:如何创建线程
介绍两种创建线程的方式1、继承Thread类2、实现Runnable接口原创 2019-07-27 22:00:42 · 201 阅读 · 0 评论 -
Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
Java并发编程:CountDownLatch、CyclicBarrier和Semaphore1、前言2、CountDownLatch理解和使用3、CyclicBarrier理解和使用4、Semaphore理解和使用1、前言由于对CountDownLatch和CyclicBarrier的功能容易混淆不清,于是特地把这两个类拉出来进行对比。顺带也把Semaphore拿过来一起进行介绍。希望本篇博...原创 2019-07-26 23:32:30 · 151 阅读 · 0 评论 -
源码解读(三):Java中的LockSupport的使用
Java中的LockSupport的使用1、LockSupport方法介绍对比park() 与park(Object blocker) 的区别parkUntil(long deadline) 方法的时间点在哪里2、LockSupport源码及注释3、关于sun.misc.Unsafe类型1、LockSupport方法介绍在Java多线程中,当需要阻塞或唤醒一个线程时,我们可以使用LockSup...原创 2019-07-23 00:36:47 · 629 阅读 · 0 评论 -
AbstractQueuedSynchronizer源码附注释
public abstract class AbstractQueuedSynchronizer翻译 2019-07-21 08:34:54 · 198 阅读 · 0 评论 -
源码解读(二):Java中的CAS应用
源码解读(二):Java中的CAS1、什么是CAS2、CAS在Java中的使用3、ABA问题1、什么是CASCAS全称为ConmpareAndSwap:比较和交换;CAS有三个要素原始值、期望值和更新值操作逻辑:将原始值与期望值进行比较,只有在值相同的情况下,将改原始值更新为新值。CAS是实现多线程同步的原子指令,具有原子性。原子性:一个操作不能被打断,要么全部执行完毕,要么不执行。...原创 2019-07-18 21:37:21 · 264 阅读 · 0 评论 -
源码解读(一):interrupt()、isInterrupted()和interrupted()以及InterruptedException
这里写自定义目录标题欢迎使用Markdown编辑器新的改变欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变...原创 2019-07-18 14:57:13 · 1075 阅读 · 0 评论 -
AbstractQueuedSynchronizer源码分析(二):独占锁的获取与释放
本篇文章分析AbstractQueuedSynchronizer源码中三块内容1、不响应中断的获取独占锁2、响应中断的独占锁3、释放独占锁以彻底了解独占锁的获取与释放逻辑。原创 2019-07-25 23:10:47 · 276 阅读 · 0 评论 -
AbstractQueuedSynchronizer源码分析(一):AbstractOwnableSynchronizer和Node
static final class Node { /** 标识节点以共享模式等待 */ static final Node SHARED = new Node(); /** 标识节点以独占模式等待 */ static final Node EXCLUSIVE = null; /** 标识线程已经被取消 */ stat...原创 2019-07-03 23:12:23 · 219 阅读 · 0 评论 -
Java并发编程(二):ReentrantReadWriteLock的介绍与使用
Java并发编程(二):ReentrantReadWriteLock的介绍与使用概述1、公平锁与非公平锁(待补充)2、ReentrantReadWriteLock的可重入锁3、读写锁降级4、锁的中断5、Condition支持概述1、公平锁与非公平锁(待补充)支持公平和非公平的获取锁的方式;import java.util.concurrent.TimeUnit;import java.u...原创 2019-06-27 23:04:49 · 260 阅读 · 0 评论 -
Java并发编程(一):ReentrantLock的介绍与使用
ReentLock的使用1、ReentrantLock与Condition的使用什么是ReentrantLock?什么是Condition?2、ReentrantLock中的公平锁与非公平锁1、ReentrantLock与Condition的使用什么是ReentrantLock?锁是控制多线程安全方法共享资源访问的工具。锁有两种实现方式,一种是使用synchronized(隐性锁),另一种是...原创 2019-06-22 22:51:27 · 484 阅读 · 0 评论