この例には、以下の 3 つのサンプル・コードがあります。
THRCBL QCBLLESRC のサンプル・コードは 図 87 に示されています。
PROCESS NOMONOPRC OPTIONS THREAD(SERIALIZE). IDENTIFICATION DIVISION. PROGRAM-ID. THRCBL. ENVIRONMENT DIVISION. CONFIGURATION SECTION. special-names. system-console is oper1. DATA DIVISION. WORKING-STORAGE SECTION. 01 pthread_attr_t typedef. 05 FILLER PIC 9(8) usage binary occurs 4 times. 05 FILLER USAGE POINTER. 01 pthread_t typedef. 05 FILLER USAGE POINTER. 05 FILLER PIC 9(8) usage binary. 05 FILLER PIC 9(8) usage binary. 05 FILLER PIC 9(8) usage binary. 05 FILLER PIC 9(8) usage binary. 05 FILLER USAGE POINTER. 01 PROC-SUBA-PTR USAGE PROCEDURE-POINTER. 01 PROC-SUBB-PTR USAGE PROCEDURE-POINTER. 01 attr type pthread_attr_t. 01 rc PIC 9(8) usage binary value 0. 01 group1. 05 thread type pthread_t occurs 10 times. 01 joinStatus0 USAGE POINTER. 01 joinStatus1 USAGE POINTER. PROCEDURE DIVISION. TEST1-INIT. SET PROC-SUBA-PTR TO ENTRY PROCEDURE "SUBA". SET PROC-SUBB-PTR TO ENTRY PROCEDURE "SUBB". * スレッド属性オブジェクトを作成 call procedure "pthread_attr_init" using attr returning rc. * スレッドを結合可能として定義 call procedure "pthread_attr_setdetachstate" using attr by value 0 size 4 returning rc.
* スレッドの作成開始 call procedure "pthread_create" using thread(1) attr by value PROC-SUBA-PTR omitted returning rc. call procedure "pthread_create" using thread(2) attr by value PROC-SUBB-PTR omitted returning rc. * スレッドの結合開始 call procedure "pthread_join" using by value thread(1) by reference joinStatus0 returning rc. call procedure "pthread_join" using by value thread(2) by reference joinStatus1 returning rc. * スレッド属性オブジェクトの破棄 call procedure "pthread_attr_destroy" using attr returning rc.
SUBA QCBLLESRC のサンプル・コードは、図 88 に示されています。
PROCESS NOMONOPRC OPTIONS THREAD(SERIALIZE). IDENTIFICATION DIVISION. PROGRAM-ID. SUBA. ENVIRONMENT DIVISION. CONFIGURATION SECTION. special-names. system-console is oper1. DATA DIVISION. WORKING-STORAGE SECTION. 01 one-line pic x(11). PROCEDURE DIVISION. TEST1-INIT. move "IN SUBA" TO ONE-LINE. DISPLAY one-line UPON oper1.
SUBB QCBLLESRC のサンプル・コードは、図 89 に示されています。
PROCESS NOMONOPRC OPTIONS THREAD(SERIALIZE). IDENTIFICATION DIVISION. PROGRAM-ID. SUBB. ENVIRONMENT DIVISION. CONFIGURATION SECTION. special-names. system-console is oper1. DATA DIVISION. WORKING-STORAGE SECTION. 01 one-line pic x(11). PROCEDURE DIVISION. TEST1-INIT. move "IN SUBB" TO ONE-LINE. DISPLAY one-line UPON oper1.
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.