博客专栏  >  编程语言   >  java并发包源码阅读笔记

java并发包源码阅读笔记

最近在拜读java大师们合编的《java并发编程实践》这本书,结合这本书上介绍的知识,阅读java并发包的源码,整理各个并发工具类的实现流程及使用方式、编程思想。

关注
5 已关注
12篇博文
  • java并发-锁顺序死锁问题

    初次接触死锁的概念是大学的一门课程《操作系统原理》中描述的“哲学家进餐”问题。操作系统中,由于各个进程共享系统资源而可能出现死锁问题。同样java多线程环境下,也存在资源共享导致的死锁问题。当一组ja...

    2015-04-17 09:27
    1583
  • java并发-协作对象之间死锁测试

    在协作对象之间可能存在多个锁获取的情况,但是这些获取多个锁的操作并不像在LeftRightDeadLock或transferMoney中那么明显,这两个锁并不一定必须在同一个方法中被获取。如果在持有锁...

    2015-04-17 15:11
    797
  • java并发-线程饥饿死锁测试

    线程饥饿死锁      《Java并发编程实践》中对线程饥饿死锁的解释是这样的:在使用线程池执行任务时,如果任务依赖于其他任务,那么就可能产生死锁问题。在单线程的Executor中,若果一个任务将另...

    2015-04-21 13:52
    1299
  • java并发-ReentrantLock的lock和lockInterruptibly的区别

    ReentrantLock的加锁方法Lock()提供了无条件地轮询获取锁的方式,lockInterruptibly()提供了可中断的锁获取方式。这两个方法的区别在哪里呢?通过分析源码可以知道lock方...

    2015-01-04 09:54
    5433
  • java并发-独占锁与共享锁

    1 锁的独占与共享       java并发包提供的加锁模式分为独占锁和共享锁,独占锁模式下,每次只能有一个线程能持有锁,ReentrantLock就是以独占方式实现的互斥锁。共享锁,则允许多个线程同...

    2014-12-31 11:34
    6664
  • java并发-使用内置条件队列实现简单的有界缓存

    内置锁和内置条件队列一起,一个简单的应用是创建可阻塞的有界缓存区,java并发包的BlockingQueue就是一个利用Lock和显式条件队列实现的可阻塞的有界队列。总结内置锁和内置条件的原理,这里我...

    2014-12-30 09:51
    2501
  • java并发-AQS.ObjectCondition源码解析

    1 什么是条件队列        它使得一组线程能够通过某种方式来等待特定的条件变成真,条件队列的元素是一个个正在等待状态的线程。对象的内置锁(synchronized语义对应的同步机制),关联着一个...

    2014-12-29 15:43
    2326
  • java并发-ReentrantLock源码分析

    1关于可重入锁        ReentrantLock是基于AQS实现的可重入的同步工具类,它提供了两种同步器的实现即公平锁FairSync和非公平锁NonfairSync。它提供了一种无条件的、可...

    2014-12-26 14:28
    1096
  • java并发-ThreadPoolExecutor源码阅读笔记

    java并发包中的任务调度框架Executor的实现类ThreadPoolExecutor的源码阅读。首先,类结构图如下:             线程池维护着三个容量变量poolSize、cor...

    2014-12-16 15:09
    888
  • 线程池的饱和策略-Semaphore实现任务提交限制

    java并发编程实践阅读笔记之线程池的使用         当线程池的工作队列被填满后,如果没有预定义的饱和策略来阻塞任务的执行,则可以通过信号量Semaphore来限制任务的到达率。Semaph...

    2014-12-15 16:11
    1421
  • 线程池的饱和策略-调用者执行

    使用java的任务管理框架的线程池执行任务时,线程池的任务等待队列被填满时,饱和策略开始发挥作用。ThreadPollExecutor的饱和策略通过setRejectedExecutionHandle...

    2014-12-15 15:36
    1234
  • Java并发编程-volatile变量

    并发编程时,Java 的volatile提供了一种弱的线程同步机制。 volatile提供了两种语义:   1)禁止编译器对其修饰的代码进行重组   2)将变量的写操作立即同步到内存中而不缓存在...

    2014-10-26 16:20
    779

img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部