摘要:
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3534050.html Semaphore简介 Semaphore是一个计数信号量,它的本质是一个"共享锁"。 信号量维护了一个信号量许可集。线程可以通过调用acquire()来获取信号量的许可;当信号量中 阅读全文
posted @ 2018-03-12 23:04
ken007
阅读(953)
评论(0)
推荐(0)
摘要:
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3533995.html CyclicBarrier简介 CyclicBarrier是一个同步辅助类,允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。因为该 bar 阅读全文
posted @ 2018-03-12 22:48
ken007
阅读(259)
评论(0)
推荐(0)
摘要:
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3533887.html CountDownLatch简介 CountDownLatch是一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。 CountDownLatch和 阅读全文
posted @ 2018-03-12 22:32
ken007
阅读(1085)
评论(0)
推荐(0)
摘要:
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3505809.html ReadWriteLock 和 ReentrantReadWriteLock介绍 ReadWriteLock,顾名思义,是读写锁。它维护了一对相关的锁 — — “读取锁”和“写入锁” 阅读全文
posted @ 2018-03-12 21:54
ken007
阅读(434)
评论(0)
推荐(0)
摘要:
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3505784.html LockSupport介绍 LockSupport是用来创建锁和其他同步类的基本线程阻塞原语。 LockSupport中的park() 和 unpark() 的作用分别是阻塞线程和解 阅读全文
posted @ 2018-03-12 21:11
ken007
阅读(198)
评论(0)
推荐(0)
摘要:
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3496716.html Condition介绍 Condition的作用是对锁进行更精确的控制。Condition中的await()方法相当于Object的wait()方法,Condition中的signa 阅读全文
posted @ 2018-03-12 20:51
ken007
阅读(473)
评论(0)
推荐(0)
摘要:
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3496651.html 参考代码 下面给出Java1.7.0_40版本中,ReentrantLock和AQS的源码,仅供参考! ReentranLock.java AQS(AbstractQueuedSyn 阅读全文
posted @ 2018-03-12 19:09
ken007
阅读(801)
评论(0)
推荐(0)
摘要:
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3496147.html 基本概念 本章,我们会讲解“线程获取公平锁”的原理;在讲解之前,需要了解几个基本概念。后面的内容,都是基于这些概念的;这些概念可能比较枯燥,但从这些概念中,能窥见“java锁”的一些 阅读全文
posted @ 2018-03-12 19:02
ken007
阅读(2609)
评论(0)
推荐(0)
摘要:
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3496101.html ReentrantLock介绍 ReentrantLock是一个可重入的互斥锁,又被称为“独占锁”。 顾名思义,ReentrantLock锁在同一个时间点只能被一个线程锁持有;而可重 阅读全文
posted @ 2018-03-12 18:56
ken007
阅读(203)
评论(0)
推荐(0)
摘要:
根据锁的添加到Java中的时间,Java中的锁,可以分为"同步锁"和"JUC包中的锁"。 同步锁 即通过synchronized关键字来进行同步,实现对竞争资源的互斥访问的锁。Java 1.0版本中就已经支持同步锁了。 同步锁的原理是,对于每一个对象,有且仅有一个同步锁;不同的线程能共同访问该同步锁 阅读全文
posted @ 2018-03-12 18:50
ken007
阅读(319)
评论(0)
推荐(0)
摘要:
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3498995.html ConcurrentLinkedQueue介绍 ConcurrentLinkedQueue是线程安全的队列,它适用于“高并发”的场景。它是一个基于链接节点的无界线程安全队列,按照 F 阅读全文
posted @ 2018-03-12 18:29
ken007
阅读(2165)
评论(0)
推荐(0)
摘要:
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3503480.html LinkedBlockingDeque介绍 LinkedBlockingDeque是双向链表实现的双向并发阻塞队列。该阻塞队列同时支持FIFO和FILO两种操作方式,即可以从队列的头 阅读全文
posted @ 2018-03-12 18:26
ken007
阅读(2519)
评论(0)
推荐(0)
摘要:
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3503458.html LinkedBlockingQueue介绍 LinkedBlockingQueue是一个单向链表实现的阻塞队列。该队列按 FIFO(先进先出)排序元素,新元素插入到队列的尾部,并且队 阅读全文
posted @ 2018-03-12 18:09
ken007
阅读(960)
评论(0)
推荐(0)
摘要:
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3498652.html ArrayBlockingQueue介绍 ArrayBlockingQueue是数组实现的线程安全的有界的阻塞队列。线程安全是指,ArrayBlockingQueue内部通过“互斥锁 阅读全文
posted @ 2018-03-12 17:43
ken007
阅读(6717)
评论(1)
推荐(1)
摘要:
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3498634.html ConcurrentSkipListSet介绍 ConcurrentSkipListSet是线程安全的有序的集合,适用于高并发的场景。ConcurrentSkipListSet和Tr 阅读全文
posted @ 2018-03-12 17:24
ken007
阅读(19603)
评论(0)
推荐(0)
摘要:
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3509954.html 线程池示例 在分析线程池之前,先看一个简单的线程池示例。 运行结果: 示例中,包括了线程池的创建,将任务添加到线程池中,关闭线程池这3个主要的步骤。稍后,我们会从这3个方面来分析Th 阅读全文
posted @ 2018-03-12 16:40
ken007
阅读(1345)
评论(0)
推荐(0)
摘要:
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3509941.html ThreadPoolExecutor简介 ThreadPoolExecutor是线程池类。对于线程池,可以通俗的将它理解为"存放一定数量线程的一个线程集合。线程池允许若个线程同时允许 阅读全文
posted @ 2018-03-12 16:20
ken007
阅读(176)
评论(0)
推荐(0)
摘要:
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3509903.html 线程池架构图 线程池的架构图如下: 1. Executor 它是"执行者"接口,它是来执行任务的。准确的说,Executor提供了execute()接口来执行已提交的 Runnabl 阅读全文
posted @ 2018-03-12 16:04
ken007
阅读(174)
评论(0)
推荐(0)

浙公网安备 33010602011771号