摘要: 队列包含固定长度的队列和不固定长度的队列,队列的规则就是:先进先出。固定长度的队列往里放数据,如果放满了还要放,阻塞式队列就会等待,直到有数据取出,空出位置后才继续放;非阻塞式队列不能等待就只能报错了。 查看Condition的JDK文档时,其中简单的模拟实现了阻塞队列的原理,Java中也已经为我们 阅读全文
posted @ 2017-03-09 23:51 星火燎原智勇 阅读(440) 评论(0) 推荐(0) 编辑
摘要: 申明:用大白话来说就是用于实现两个人之间的数据交换,每个人在完成一定的事务后想与对方交换数据,第一个先拿出数据的人会一直等待第二个人,直到第二个人拿着数据到来时,才能彼此交换数据。 java.util.concurrent.Exchanger<V> V 表示可以交换的对象类型 对应构造方法摘要: E 阅读全文
posted @ 2017-03-09 19:15 星火燎原智勇 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 申明:CountDownLatch好像倒计时计数器,调用CountDownLatch对象的countDown方法就将计数器减1,当到达0时,所有等待者就开始执行。 java.util.concurrent.CountDownLatch 一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一 阅读全文
posted @ 2017-03-09 18:01 星火燎原智勇 阅读(453) 评论(0) 推荐(0) 编辑
摘要: JDK包位置:java.util.concurrent.CyclicBarrier 一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因 阅读全文
posted @ 2017-03-09 15:59 星火燎原智勇 阅读(544) 评论(0) 推荐(0) 编辑
摘要: Semaphore可以维护当前访问自身的线程个数,并且提供了同步机制。 Semaphore实现的功能类似于厕所里有5个坑,有10个人要上厕所,同时就只能有5个人占用,当5个人中 的任何一个让开后,其中在等待的另外5个人中又有一个可以占用了。另外等待的5个人中可以是随机获得优先机会,也可以是按照先来后 阅读全文
posted @ 2017-03-09 15:46 星火燎原智勇 阅读(585) 评论(0) 推荐(0) 编辑