使应用程序线程安全
使应用程序线程安全时,您可以使用开放式事务环境,避免 TCB 切换,并且获得性能优势。
开始之前
要使用线程安全应用程序,请确保系统初始化参数 FORCEQR 未设置为 YES。 FORCEQR 强制定义为线程安全的程序在 QR TCB 上运行,并且在调查并解决与线程安全定义的程序相关的问题时,可以将其设置为 YES 作为临时度量。
此外,请在拥有文件的 CICS® 区域中为系统初始化参数 FCQRONLY 选择适当的设置。 如果 FCQRONLY 设置为 YES ,那么 CICS 将强制 CICS 区域中的所有文件控制请求在 QR TCB 上运行。 如果使用 IPIC 连接将文件控制请求传递到远程区域,那么要提高这些连接的性能,请在文件拥有区域中将 FCQRONLY 设置为 NO。
如果要使用 CICS 相互通信来请求在远程 CICS 系统中运行的功能或程序,请在 CICS 系统之间选择基于 TCP/IP 连接的 IP 互连 (IPIC) ,以提供对线程安全应用程序的最佳支持。 通过 IPIC 连接, CICS 使用开放式 TCB 来运行用于在远程 CICS 系统上管理请求的镜像程序,从而提高吞吐量。 对于其他连接类型, CICS 不会使用开放式 TCB 来运行镜像程序。 EXEC CICS LINK 命令用于分布式程序链接 (DPL) ,对于与远程 CICS 区域 (其中使用了长时间运行的镜像) 的 IPIC 连接是线程安全的,但不适用于其他连接类型。
关于此任务
线程安全程序 说明了程序线程安全的含义,以及在开放式 TCB 和 QR TCB 之间进行 TCB 切换的情况。
要使应用程序成为线程安全的应用程序并使其能够保留在开放式 TCB 上,请使用以下过程。
注: 使用定义为线程安全的程序运行应用程序以使用 OTE 可能会导致问题 (如果一个或多个程序不是线程安全的程序)。 如果发生这种情况,那么可以使用 FORCEQR 系统初始化参数将所有应用程序强制连接到 QR TCB。 有关更多信息,请参阅 如果应用程序同时具有线程安全程序和非线程安全程序。