池线程

池线程是使用 THREADLIMIT(n) DB2CONN 参数定义的。

有四种情况可以使用池线程:
  1. 未在任何 DB2ENTRY 或 DB2TRAN中指定事务,但发出 SQL 请求。 此事务缺省为池,并使用为池指定的计划。
  2. 在引用 DB2ENTRY的 DB2ENTRY 或 DB2TRAN 中指定了事务,但由于 DB2ENTRY 指定了 THREADLIMIT ($TAG5) 和 THREADWAIT (POOL) ,因此强制事务进入池。 此事务使用 DB2ENTRY中指定的计划。
  3. 在引用 DB2ENTRY的 DB2ENTRY 或 DB2TRAN 中指定了事务,但在超过 THREADLIMIT 值时溢出到池 (THREADWAIT = POOL)。 此事务使用 DB2ENTRY中指定的计划。
  4. 在引用 DB2ENTRY的 DB2ENTRY 或 DB2TRAN 中指定了事务,但禁用了 DB2ENTRY 。 DISABLEDACT 关键字设置为 POOL ,因此将使用池线程。 此事务使用为池指定的计划。

池线程始终是不受保护的线程。

将创建,使用和终止池线程,如下所示:
TCB 连接
启动 CICS® Db2® 连接设施时,不会连接任何线程 TCB。

仅当线程需要时,才会连接 TCB。

线程创建
仅当事务需要时,才会创建线程。
线程终止
线程在释放后将立即终止,除非它有一个排队等待它的事务。
线程复用
使用同一套餐的其他事务可以在线程变为可用时复用该线程。 在池中,仅当存在线程队列并且队列中的第一个事务请求正在释放的线程所使用的相同计划时,才会发生此情况。