We are being told by IBM that RPGLE is problematic when attempting to create a *PGM object that is threadsafe.

OPM programms aren't threadsafe. ILE RPG programms could be made threadsafe by the Controll option (punching a H-card) Thread. You have two possibilities:
THREAD(*SERIALIZE): this does what it tells: serialize the whole module.
THREAD(*CONCURRENT): all static storage (global vars, files and internal runtime vars) is thread logal (:= every thread has it's own, independant static storage). This could be modified by defining vars as STATIC(*ALLTHREAD).

If you would have the requirement to call some rpg from a multithreaded application, this (THREAD(*CONCURRENT) should be sufficient..

Having the requirement to write multithreaded code, I would use neither rpg nor C. On AS400 I would recommend Java, C++ 11 seems not to be available on as400.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2022 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.