1)基本概念
HTablePool
- 3种类型
-
- PoolType.Reusable(默认)一个实例池,多线程复用,内部是每个table一个ConcurrentLinkedQueue装多个实例
- PoolType.ThreadLocal,很奇怪的实现,每个线程只能有一个实例,感觉在多线程的场景没有意义
- PoolType.RoundRobin(没有被使用,就算设置了该类型也没用,见HTablePool的构造函数)
- PoolMap<String, HTableInterface> tables:用于存放table实例,正如上面提到的默认是每个table对应一个ConcurrentLinkedQueue
- maxSize:pool的最大尺寸
2)样例代码
public class HTablePoolTest {
protected static String TEST_TABLE_NAME = "testtable";
protected static String ROW1_STR = "row1";
protected static String COLFAM1_STR = "colfam1";
protected static String QUAL1_STR = "qual1";
private final static byte[] ROW1 = Bytes.toBytes(ROW1_STR);
private final st