转载:http://blog.csdn.net/yanyan19880509/article/details/52349056 前言 前面介绍了ReentrantLock,又叫排他锁,本篇主要通过CountDownLatch的学习来了解Java并发包中是如何实现共享锁的。 CountDownLatc ...
分类:
其他好文 时间:
2016-12-03 09:56:20
阅读次数:
274
Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现 ...
分类:
编程语言 时间:
2016-12-01 21:46:17
阅读次数:
233
JDK提供了7中阻塞队列,这里介绍其中3中,剩余的以此类推原理相同。 1.ArrayBlockingQueue 2.LinkedBlockingQueue:链表实现的有界阻塞队列 3.PriorityBlockingQueue:支持优先级的无界阻塞队列 4.DelayQueue 5.Synchron ...
分类:
编程语言 时间:
2016-11-27 14:26:54
阅读次数:
261
场景: 线程池在面试时候经常会碰到,在工作中用的场景更多,所以很有必要弄清楚。 1 简介 Java自1.5以来加入了处理一批线程的方法,也就是java并发包里的Executor。本文主要介绍ExecutorService的用法,Runable和Callable的用法以及ExecutorComplet ...
分类:
编程语言 时间:
2016-11-16 01:48:02
阅读次数:
156
林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka 写在前面的话:此文只能说是Java多线程的一个入门,其实Java里头线程完全可以写一本书了,但是如果最基本的你都学掌握好,又怎么能更上一个台阶呢?如果你觉得此文很简单,那推荐你看看Java并发包 ...
分类:
编程语言 时间:
2016-11-14 12:52:34
阅读次数:
229
并发是一种能并行运行多个程序或并行运行一个程序中多个部分的能力。如果程序中一个耗时的任务能以异步或并行的方式运行,那么整个程序的吞吐量和可交互性将大大改善。现代的PC都有多个CPU或一个CPU中有多个核,是否能合理运用多核的能力将成为一个大规模应用程序的关键。 Java基础部分知识总结点击Java并 ...
分类:
编程语言 时间:
2016-11-13 22:09:00
阅读次数:
256
在多线程的场景下,有些并发流程需要人为来控制,在JDK的并发包里提供了几个并发工具类:CountDownLatch、CyclicBarrier、Semaphore。 一、CountDownLatch 执行结果: 这里会存在两种结果:123或者213,但是绝对不会出现3打印在1、2前面的。 这个Cou ...
分类:
其他好文 时间:
2016-11-02 18:04:26
阅读次数:
243
CountDownLatch是java并发包中辅助并发的工具类,目的是让并发运行的代码在某一个执行点阻塞,直到所有条件都满足,这里的条件就是调用countDown()方法,有点类似计数器的功能。 用法如 构造函数中传入的数字2,表示需要2次countDown()方法调用,否则代码会一直阻塞在awai ...
分类:
其他好文 时间:
2016-10-20 21:12:52
阅读次数:
289
JDK内部提供了大量的API和框架,这里主要介绍三部分 多线程同步控制方法 线程池,提高线程调度的性能 JDK的并发容器 重入锁:java.util.concurrent.locks.ReenterLock 在代码中,类ReenterLock实现了Runnable,其中有static的变量i,在ru... ...
分类:
编程语言 时间:
2016-09-28 01:19:55
阅读次数:
315
一、AQS简介AQS全称AbstractQueuedSynchronizer,是java并发包中的一个类,该类更像是一个框架,提供了一些模板方法供子类实现,从而实现了不同的同步器,如下图所示。ReentrantLock,ReentrantReadWriteLock,ThreadPoolExecutor这些常见类都使用了AQS。以下是AQS的成员变量:p..
分类:
其他好文 时间:
2016-09-27 11:54:38
阅读次数:
139