摘要: http://www.cnblogs.com/skywang12345/p/3509954.html 线程池示例 在分析线程池之前,先看一个简单的线程池示例。 运行结果: 示例中,包括了线程池的创建,将任务添加到线程池中,关闭线程池这3个主要的步骤。稍后,我们会从这3个方面来分析ThreadPool 阅读全文
posted @ 2018-07-19 17:48 无天666 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 本章介绍线程池的拒绝策略。内容包括:拒绝策略介绍拒绝策略对比和示例 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3512947.html 拒绝策略介绍 线程池的拒绝策略,是指当任务添加到线程池中被拒绝,而采取的处理措施。当任务添加到线程池中之所以被拒绝 阅读全文
posted @ 2018-07-19 17:10 无天666 阅读(8761) 评论(1) 推荐(1) 编辑
摘要: 谈谈Java中的volatile 内存可见性 留意复合类操作 解决num++操作的原子性问题 禁止指令重排序 总结 内存可见性 volatile是Java提供的一种轻量级的同步机制,在并发编程中,它也扮演着比较重要的角色。同synchronized相比(synchronized通常称为重量级锁),v 阅读全文
posted @ 2018-07-19 14:27 无天666 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 1. List和Set JUC集合包中的List和Set实现类包括: CopyOnWriteArrayList, CopyOnWriteArraySet和ConcurrentSkipListSet。ConcurrentSkipListSet稍后在说明Map时再说明,CopyOnWriteArrayL 阅读全文
posted @ 2018-07-19 13:53 无天666 阅读(249) 评论(0) 推荐(0) 编辑
摘要: import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Semaphore; public class SemaphoreTest1 { private static final int SEM_MAX = 10... 阅读全文
posted @ 2018-07-19 11:43 无天666 阅读(2313) 评论(0) 推荐(0) 编辑
摘要: package com.test; import java.util.concurrent.CyclicBarrier; import java.util.concurrent.BrokenBarrierException; public class CyclicBarrierTest1 { private static int SIZE = 5; private stati... 阅读全文
posted @ 2018-07-19 11:29 无天666 阅读(292) 评论(0) 推荐(0) 编辑
摘要: package com.test; import java.util.concurrent.CountDownLatch; import java.util.concurrent.CyclicBarrier; public class CountDownLatchTest1 { private static int LATCH_SIZE = 5; private static... 阅读全文
posted @ 2018-07-19 11:02 无天666 阅读(217) 评论(0) 推荐(0) 编辑
摘要: package com.test; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; public class ReadWriteLockTest1 { public static void main(String[... 阅读全文
posted @ 2018-07-19 10:34 无天666 阅读(155) 评论(0) 推荐(0) 编辑
摘要: LockSupport是通过调用Unsafe函数中的接口实现阻塞和解除阻塞的。 park和wait的区别。wait让线程阻塞前,必须通过synchronized获取同步锁。 阅读全文
posted @ 2018-07-19 09:40 无天666 阅读(235) 评论(0) 推荐(0) 编辑