c
-
Java多线程13:读写锁和两种同步方式的对比详解编程语言
读写锁ReentrantReadWriteLock概述 大型网站中很重要的一块内容就是数据的读写,ReentrantLock虽然具有 完全互斥排他的效果(即同一时间只有一个线程正在…
-
Java多线程12:ReentrantLock中的方法详解编程语言
公平锁与非公平锁 ReentrantLock有一个很大的特点,就是可以指定锁是公平锁还是非公平 锁,公平锁表示线程获取锁的顺序是按照线程排队的顺序来分配的,而非公平锁就是一种获取锁…
-
Java多线程14:生产者/消费者模型详解编程语言
什么是生产者/消费者模型 一种重要的模型,基于等待/通知机制。生产者/消费者模型描述的是有一块缓冲区作为仓库,生产者可将产品放入仓库,消费者可以从仓库中取出产品,生产者/消费者模型…
-
Java多线程16:线程组详解编程语言
线程组 可以把线程归属到某一个线程组中,线程组中可以有线程对象,也可以有线程组,组中还可以有线程,这样的组织结构有点类似于树的形式,如图所示: 线程组的作用是:可以批量管理线程或线…
-
Java多线程15:Queue、BlockingQueue以及利用BlockingQueue实现生产者/消费者模型详解编程语言
Queue是什么 队列,是一种数据结构。除了优先级队列和LIFO队列外,队列都是以FIFO(先进先出)的方式对各个元素进行排序的。无论使用哪种排序方式,队列的头都是调用remove…
-
Java多线程17:中断机制详解编程语言
概述 之前讲解Thread类中方法的时候,interrupt()、interrupted()、isInterrupted()三个方法没有讲得很清楚,只是提了一下。现在把这三个方法同…
-
Java多线程18:线程池详解编程语言
使用线程池与不使用线程池的差别 先来看一下使用线程池与不适应线程池的差别,第一段代码是使用线程池的: public static void main(String[] args) …
-
Java多线程19:定时器Timer详解编程语言
前言 定 时/计划功能在Java应用的各个领域都使用得非常多,比方说Web层面,可能一个项目要定时采集话单、定时更新某些缓存、定时清理一批不活跃用户等等。 定时计划任务功能在Jav…
-
Java多线程20:多线程下的其他组件之CountDownLatch、Semaphore、Exchanger详解编程语言
前言 在多线程环境下,JDK给开发者提供了许多的组件供用户使用(主要在java.util.concurrent下),使得用户不需要再去关心在具体 场景下要如何写出同时兼顾线程安全性…
-
Java多线程21:多线程下的其他组件之CyclicBarrier、Callable、Future和FutureTask详解编程语言
CyclicBarrier 接着讲多线程下的其他组件,第一个要讲的就是CyclicBarrier。 CyclicBarrier从字面理解是指循环屏障,它可以协同多个线程,让多个线程…