摘要: ConcurrentSkipListMap提供了一种线程安全的并发访问的排序映射表。内部是SkipList(跳表)结构实现,在理论上能够在O(log(n))时间内完成查找、插入... 阅读全文
posted @ 2017-02-27 21:45 rickiyang 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 这一节我们来看一下并发的Map,ConcurrentHashMap和ConcurrentSkipListMap。ConcurrentHashMap通常只被看做并发效率更高的Ma... 阅读全文
posted @ 2017-02-26 10:41 rickiyang 阅读(429) 评论(0) 推荐(0) 编辑
摘要: 这一节我们来接着介绍JUC集合:CopyOnWriteArraySet和ConcurrentSkipListSet。从名字上来看我们知道CopyOnWriteArraySet与... 阅读全文
posted @ 2017-02-26 10:35 rickiyang 阅读(973) 评论(0) 推荐(1) 编辑
摘要: 这一节开始我们正式来介绍JUC集合类。我们按照List、Set、Map、Queue的顺序来进行介绍。这一节我们来看一下CopyOnWriteArrayList。CopyOnWr... 阅读全文
posted @ 2017-02-23 17:17 rickiyang 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 本节我们将继续学习JUC包中的集合类,我们知道jdk中本身自带了一套非线程安全的集合类,我们先温习一下java集合包里面的集合类,然后系统的看一下JUC包里面的集合类到底有什么... 阅读全文
posted @ 2017-02-23 17:14 rickiyang 阅读(494) 评论(0) 推荐(0) 编辑
摘要: 还记得我们在初始介绍线程池的时候提到了Executor框架的体系,到现在为止我们只有一个没有介绍,与ThreadPoolExecutor一样继承与AbstractExecuto... 阅读全文
posted @ 2017-02-20 21:02 rickiyang 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 前面我们简单介绍了线程池的使用,但是对于其如何运行我们还不清楚,Executors为我们提供了简单的线程工厂类,但是我们知道ThreadPoolExecutor是线程池的具体实... 阅读全文
posted @ 2017-01-23 18:01 rickiyang 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 上节我们简单介绍了线程池,这次我们就来使用一下。Executors提供四种线程池,分别是:newCachedThreadPool,newFixedThreadPool ,new... 阅读全文
posted @ 2017-01-21 23:25 rickiyang 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 好的软件设计不建议手动创建和销毁线程。线程的创建和销毁是非常耗 CPU 和内存的,因为这需要 JVM 和操作系统的参与。64位 JVM 默认线程栈是大小1 MB。这就是为什么说... 阅读全文
posted @ 2017-01-19 21:42 rickiyang 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 今天我们介绍原子类的最后一个类型—-对象的属性修改类型: AtomicIntegerFieldUpdater,AtomicLongFieldUpdater,AtomicRefe... 阅读全文
posted @ 2017-01-17 22:14 rickiyang 阅读(517) 评论(0) 推荐(0) 编辑