为多线程技术准备 ILE COBOL 程序

IBM i 环境中,程序可以在进程的 线程 中运行。 ILE COBOL 通过 THREAD PROCESS 语句选项支持多线程执行 (请参阅 "THREAD 选项")。 为了了解本章对 ILE COBOL 支持多线程的讨论,您需要熟悉以下术语:

作业
IBM i上,作业表示进程。 操作系统和多线程应用程序可以处理作业中的执行流。 多个作业可以并发运行,在一个作业中运行的程序可以共享资源。 作业是程序的内存和资源的容器。
线程
在作业中,应用程序可以启动一个或多个线程。 在线程中,在执行程序之间传输控制。
运行单元
IBM i上,运行单元表示程序激活组。 运行单元可以包含多个线程。 当 COBOL 运行单元在多线程环境中结束时,作业也会结束。 在运行单元中, ILE COBOL 程序可以调用非ILE COBOL 程序,反之亦然。
程序调用实例
在线程中,控制在单独的 ILE COBOL 和非ILE COBOL 程序之间传输。 例如, ILE COBOL 程序可以调用另一个 ILE COBOL 程序或 ILE C 程序。 每个单独调用的 (如在 CALLed 中) 程序都是一个程序调用实例。 特定程序的程序调用实例可能存在于给定作业中的多个线程中。

下图显示了作业,线程,运行单元和程序调用实例之间的关系:

图 1。 多线程概念示意图
多线程图示

ILE COBOL 没有支持启动或管理程序线程的 COBOL 语句,但是 COBOL 程序可以使用 API 来执行此操作。 ILE COBOL 程序可以在多线程环境中的线程中运行。 换言之, ILE COBOL 程序可以由其他应用程序调用,使得它们在作业中的多个线程中运行,或者作为线程中的多个程序调用实例运行。

本章的其余部分包含将帮助您为多线程环境准备 ILE COBOL 程序的信息。

本章描述:
  • 如何在多线程环境中解释语言元素
  • 何时为多线程支持选择 THREAD
  • 多线程环境中控制权的转移
  • 在多线程环境中使用 ILE COBOL 的示例。