|
Steve Richter wrote: > ... > Hans Boldt wrote: > >Of course, then the task is to identify all uses of items in the > >global structures and add mutexes around all of them. Again, time > >consuming for development, as well as slowing down the resulting > >program. > > ok. a threadsafe(*yes *no) hspec handles the run time isssue right? > But it's not as simple as putting a mutex around each access to a global structure. The global static structures are interrelated, so each RPG procedure would pretty much be a critical section. That's the basis of RPG's existing (since V4R4 I think) THREAD(*SERIALIZE) support that controls access to the procedures in a module so that only one thread is in a module at any one time. This protects the static storage in the module, making the module thread-safe assuming it isn't doing anything thread-unsafe. If the procedures are quick-running, the application *may* even get some multi-thread benefits. (But the THREAD(*SERIALIZE) support was added specifically so that RPG programs could run safety in an already threaded environment; it wasn't added to enable multi-threaded RPG apps.)
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 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.