When you write COBOL programs for a multithreaded environment, choose appropriate program linkage statements.
As in single-threaded environments, a called program is in its initial state when it is first called within a run unit and when it is first called after a CANCEL to the called program. Ensure that the program that you name on a CANCEL statement is not active on any thread. If you try to cancel an active program, a severity-3 Language Environment condition occurs.
If your threaded application requires preinitialization, use the Language Environment services (CEEPIPI interface). You cannot use the COBOL-specific interfaces for preinitialization (runtime option RTEREUS and functions IGZERRE and ILBOSTP0) to establish a reusable environment from any program that has been compiled with the THREAD option.
related concepts
Language Environment Programming Guide (Language Environment termination:
enclave termination)