IBM AS/400 Frozen Dessert Maker User Manual


 
Multithreading Considerations
The name of the graphics routine you want to run.
The appropriate parameters for the specified graphics routine. These parame-
ters must be of the data type required by the graphics routine and cannot have
a float format.
The procedure that processes the CALL does not implicitly start or end OS/400
graphics routines.
For more information on OS/400 Graphics, graphics routines and parameters, see
the
GDDM Programming Guide
manual and the
GDDM Reference
.
Note: You can call OS/400 Graphics using the CALL operation. You can also use
CALLP if you define a prototype for the routine and specify the EXTPGM
keyword on the prototype. You cannot use the CALLB operation. You
cannot pass Date, Time, Timestamp, or Graphic fields to GDDM, nor can
you pass pointers to it.
Calling Special Routines
ILE RPG supports the use of the following special routines using the CALL and
PARM operations or the CALLP operation:
Message-retrieving routine (SUBR23R3)
Moving Bracketed Double-byte Data and Deleting Control Characters
(SUBR40R3)
Moving Bracketed Double-byte Data and Adding Control Characters
(SUBR41R3).
Note: You cannot use the CALLB operation to call these special subroutines. You
can use CALLP if you define a prototype for the subroutines.
While the message retrieval routine is still supported, it is recommended that you
use the QMHRTVM message API, which is more powerful.
Similarly, the routines SUBR40R3 and SUBR41R3 are being continued for compat-
ibility reasons only. They will not be updated to reflect the level of graphic support
provided by RPG IV via the new graphic data type.
|
Multithreading Considerations
| Normally, running an application in multiple threads can improve the performance of
| the application. In the case of ILE RPG, this is not true in general. In fact, the per-
| formance of a multithreaded application could be worse than that of a single-thread
| version when the thread-safety is achieved by serialization of the procedures at the
| module level.
| Running ILE RPG procedures in a multithreaded environment is only recommended
| when required by other aspects of the application (for example, when writing a
| Domino exit program or when calling a short-running RPG procedure from Java).
| For long-running RPG programs called from Java, we recommend using a separate
| process for the RPG program.
| The THREAD(*SERIALIZE) control specification keyword can be specified to help
| you achieve thread safety for an ILE RPG module. Specifying
Chapter 10. Calling Programs and Procedures 157