java多线程
Peppe520
这个作者很懒,什么都没留下…
展开
-
java线程同步
同步的两种方式synchronized关键字同步可重入锁ReentrantLock同步下面的例子分别使用两种方式实现同步public class JavaSynchronize { public int count = 0; public void increment() { synchronized (this) { count++;原创 2015-07-18 19:45:04 · 248 阅读 · 0 评论 -
JAVA Fork/Join 框架
JAVA Fork/Join 框架是一个任务并行计算框架,将大任务划分为小任务,分而治之核心操作fork:将大任务划分为小任务join: 任务等待其创建的任务的结束核心类ForkJoinPool:ForkJoinTask需要通过ForkJoinPool来执行,实现ExecutorService接口和work-stealing算法,管理工作线程和提供关于任务的状态和它们执行的信息ForkJo原创 2015-08-07 11:08:22 · 271 阅读 · 0 评论 -
JAVA 阻塞队列
阻塞队列,顾名思义,当队列为空取元素或者队列满了放元素时对线程进行阻塞 阻塞队列有以下几种:ArrayBlockingQueue 基于数组实现,定义时需指定大小LinkedBlockingQueue 基于链表实现PriorityBlockingQueue 基于堆实现DelayQueue 延时阻塞队列用ArrayBlockingQueue实现生产者消费者模型import java.util原创 2015-08-08 15:07:52 · 280 阅读 · 0 评论 -
java多线程
Thread创建的两种方式实现runnable接口,实现run()方法继承Thread类ExecutorService类,Callable接口和Future对象上面两种方式执行完任务是没有返回值的,如果想要任务返回值,需要实现callable接口中的call()方法,利用线程池执行时返回Future对象import java.util.concurrent.Callable;import j原创 2015-07-17 18:47:35 · 261 阅读 · 0 评论 -
java线程协作
协作方式基于对象的内置锁,在同步方法或同步块中使用wait(),notify(),notifyAll()Lock配合Condition对象的await(),signal(),signalAll()下面的例子模拟多线程环境下的存款取款业务1.第一张方式实现public class JavaInnerLock { private int balance = 0; public sync原创 2015-07-18 19:27:43 · 349 阅读 · 0 评论