摘要: 前言   JDK中为了处理线程之间的同步问题,除了提供锁机制之外,还提供了几个非常有用的并发工具类:CountDownLatch、CyclicBarrier、Semphore、Exchanger、Phaser;   CountDownLatch、CyclicB 阅读全文
posted @ 2018-03-02 17:18 jinggod 阅读(1576) 评论(0) 推荐(0)
摘要: 前言   JDK中为了处理线程之间的同步问题,除了提供锁机制之外,还提供了几个非常有用的并发工具类:CountDownLatch、CyclicBarrier、Semphore、Exchanger、Phaser;   CountDownLatch、CyclicB 阅读全文
posted @ 2018-03-02 17:09 jinggod 阅读(668) 评论(0) 推荐(0)
摘要: 前言   JDK中为了处理线程之间的同步问题,除了提供锁机制之外,还提供了几个非常有用的并发工具类:CountDownLatch、CyclicBarrier、Semphore、Exchanger、Phaser;   CountDownLatch、CyclicB 阅读全文
posted @ 2018-03-02 10:54 jinggod 阅读(972) 评论(0) 推荐(0)
摘要:    任意一个Java对象,都拥有一组监视器方法(定义在根类Object上),主要包括:wait( )、wait(long timeout)、notify()、notifyAll()方法;这些方法与关键字synchronized结合使用,可以实现 隐式锁的等待/通知机制 。而显示 阅读全文
posted @ 2018-03-02 01:23 jinggod 阅读(541) 评论(0) 推荐(0)
摘要: 前言:   上一篇文章,已经很详细地介绍了 显式锁Lock 以及 其常用的实现方式 ReetrantLock(重入锁),本文将介绍另一种显式锁 读写锁ReadWriteLock。    前面介绍的隐式锁Synchronize、重入锁ReetrantLock都是 阅读全文
posted @ 2018-03-02 01:11 jinggod 阅读(2089) 评论(0) 推荐(0)
摘要: 一、显式锁简介    显式锁,这个叫法是相对于隐式锁synchronized而言的,加锁和解锁都要用户显式地控制。显示锁Lock是在Java5中添加到jdk的,同synchronized一样,这也是一种协调共享对象访问的机制。但是它不是用来替代内置锁的,而是一种可选择的高级功能。 阅读全文
posted @ 2018-03-02 01:04 jinggod 阅读(1285) 评论(0) 推荐(2)
摘要: 转载自 " Java 并发:Lock 框架详解" 摘要: 我们已经知道,synchronized 是java的关键字,是Java的内置特性,在JVM层面实现了对临界资源的同步互斥访问,但 synchronized 粒度有些大,在处理实际问题时存在诸多局限性,比如响应中断等。Lock 提供了比 syn 阅读全文
posted @ 2018-03-01 23:45 jinggod 阅读(1651) 评论(0) 推荐(0)
摘要: 前言    经过前面的两篇文章的介绍,可以清楚知道,synchronized可以用于修饰一个方法 或者 代码块,线程要访问这些临界区代码,则要先获取对应的 对象监视器 ,从而使多个线程互斥访问临界区。    然而,区别是不是同一个对象监视器,是根据对象监视器的 阅读全文
posted @ 2018-03-01 23:30 jinggod 阅读(1947) 评论(1) 推荐(0)
摘要: 一、等待/通知机制的简介 线程之间的协作:   为了完成某个任务,线程之间需要进行协作,采取的方式:中断、互斥,以及互斥上面的线程的挂起、唤醒;如:生成者 消费者模式、或者某个动作完成,可以唤醒下一个线程、管道流已准备等等; 等待/通知机制:    等待/通知 阅读全文
posted @ 2018-03-01 23:13 jinggod 阅读(3669) 评论(1) 推荐(0)
摘要: 一、synchronized 的介绍   synchronized 是 Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码,而这段代码也被称为临界区。   synchronized 有多个叫法,而每个 阅读全文
posted @ 2018-03-01 21:31 jinggod 阅读(3138) 评论(0) 推荐(3)