HTablePool会被逐渐废弃,直到0.98的发行版本中会被清楚。使用新的API,HConnection.getTable(...)。
它的设计思想:
“默认情况下,当需要的时候,HConnectionInplementation将会创建一个ExecutorService。
这个ExecutorService能够选择性地传递,传入进去进行处理。HTableInterfaces...
分类:
其他好文 时间:
2014-09-24 19:47:37
阅读次数:
298
在多线程中,两个线程之间交换数据是非常常见的情况,我们可以使用公共的数据结构,同样,Java也提供了很好
的类供我们使用,那就是Exchanger类,这个类可以帮助我们在两个线程之间同步数据结构,下面我们以这个类再来实
现一遍生产者消费者模型,貌似这个模型已经被写烂了。
package com.bird.concursey.charpet5;
import java.util.Li...
分类:
编程语言 时间:
2014-09-23 23:21:55
阅读次数:
368
以前我们创建线程的时候都是主动的new一个Thread,然后调用他们的start方法,但是如果线程非常多,任务也非
常多的时候,这样写就会显得非常麻烦,当然可能效率也不是很高,Java给我们提供了叫线程创建器这个样概念的类,
他可以帮助我们管理这些线程,你做的就是编写好代码,然后交给他,她就会自动帮你运行。
当然,带cache的threadpool 对于死掉的线程重新调用,在性能上也会有非常...
分类:
编程语言 时间:
2014-09-23 23:02:15
阅读次数:
315
ThreadPoolExecutor提供了另一个非常强有力的接口,那就是callable。这个接口和runnable类似,但是实现这个
接口的方法是call方法,这个方法是可以返回值的,弥补了runnable不能返回值的悲哀。而且这个方法可以配合ThreadP
oolExecutor使用,获得Future接口,从这个接口的名字我们就能知道,返回的这个类似于指向这个线程的一个指针,我
们能通过...
分类:
编程语言 时间:
2014-09-23 22:57:05
阅读次数:
250
在Phaser类中,我们在每个线程中,每个线程进行完一个阶段完成后都会等待其他线程完成后再一起进行,当所
有线程都完成了一个任务的时候,会调用Phaser的onAdvance方法,如果我们想在每个阶段,所有线程都完成他们的阶
段工作后做点啥事的话,那就得继承Phaser类来重写Onadvance这个方法来实现我们的目的,下面我们用一个例子来说
明,例子就是模拟多个学生考试,考试分为三个阶段,...
分类:
编程语言 时间:
2014-09-23 22:28:05
阅读次数:
485
在多线程开发中,经常会碰到将多个任务分配给多个线程,每个线程执行他的任务,但是,每个任务又分为好几个
阶段,每个阶段期望各个线程同时达到,意思是,每一步每个线程都要同步,当有一个线程走完第一步的时候,他得等
待其他的线程都完成第一步了才能继续下一步,步调一致能解决很多问题。下面我们使用一个例子,这个例子是模拟遍
历机器上的一些文件,找出以log结尾的文件,并且他的最后修改时间为24小时以内,...
分类:
编程语言 时间:
2014-09-23 03:08:23
阅读次数:
301
InvokeAny 以及 InvokeAll 解释清楚以后,我们最后的一部是关于executor的执行的过程,这个实在线程池中执行的,要想弄明白executor的执行的过程,必须对java对应的线程池进行说明,一般的线程池在前面已经说过,通过Executors创建 executorService接口...
分类:
编程语言 时间:
2014-09-22 20:58:13
阅读次数:
284
上一节说了CountDown的使用方法,对于用来同步多个线程之间的协作关系,Java更提供了更加高级的方法来实
现,这个类就是CyclicBarrier。 它可以实现当多个分支线程完成他们的工作后,调用await方法来等待,然后等所有的分
支线程工作完毕后,会自动的调用主线程的run方法,这个主线程是一个实现runnable接口的类,在CyclicBarrier实例化
的时候就调用了。
下...
分类:
编程语言 时间:
2014-09-22 13:21:42
阅读次数:
267
在多线程开发中,经常会遇到这样的问题,比如,一个线程需要其他的一些辅助线程完成指定的一些任务后才能开
启。 类似于一个主线程正在运行,他需要其他分支线程完成一些任务后才能激活他来启动剩下的任务,这里就可以使用
Java自带的CountDownLatch这个类来帮我们实现这样的效果。 这个类初始化的时候会指定一个数字,这就是需要等
待的资源的数量,每一个资源到位的时候,就调用他的count...
分类:
编程语言 时间:
2014-09-22 10:55:52
阅读次数:
239