ILE RPG Language Reference
General thread considerations
To see the advantages and disadvantages of the two types of thread-safety
for RPG, see the section on multithreaded applications in Rational Development Studio for i: ILE RPG Programmer's Guide. For a list of system functions that
are not allowed or supported in a multithreaded environment, see the
Multithreaded Applications document under the Programming topic at
the following URL:
http://www.ibm.com/systems/i/infocenter/
You cannot use the following in a thread-safe program:
- *INUx indicators
- External indicators (*INU1 - *INU8)
- The LR indicator for the CALL or CALLB operation
When using the THREAD keyword, remember the following:
- It is up to the programmer to ensure that storage that
is shared across modules or threads is used in a thread-safe manner.
This includes:
- Storage explicitly shared by being exported and imported.
- Storage shared because a procedure saves the address of a parameter
or a pointer parameter, or allocated storage, and uses it on a subsequent
call.
- Storage shared because STATIC(*ALLTHREAD) was specified on the
definition of the variable.
- If shared files are used by more than one language (RPG and C,
or RPG and COBOL), ensure that only one language is accessing the
file at one time.
[ Top of Page | Previous Page | Next Page | Contents |
Index ]