|
Hi Mihael,
Also notice how you use it: If you call "not treadsafe" stuff like old RPG
programs, some CL commands, where you create temporary stuff in QTEMP etc.
- The you HAVE TO use *SERIALIZED. What it does is simply making a lock
that will remain locked until the procedure terminates - allowing you to
make all the non-thread safe stuff.
The *CONCURRENT is just giving you a global memory layer for each thread so
the code is reentrant without you have to do anything - Here you CAN NOT
call "not thread safe" stuff as described above.
Btw. - Are you asking because you are beginning to make applications in
ILEastic ? :)
On Thu, Mar 14, 2019 at 8:58 PM Mihael Schmidt <mihael@xxxxxxxxxxxxxx>
wrote:
Thanks a lot for all the feedback. It greatly helped in making a decision.
I found that the object size does not increase that much in my case, 20kb.
I will compile all necessary programs with thread(*concurrent).
Best regards
Mihael
On 13.03.19 16:25, Barbara Morris wrote:
On 2019-03-12 9:21 PM, Scott Klement wrote:--
Hi Mihael,It's THREAD(*SERIALIZE) that creates mutexes.
Years ago when this feature came out, I was told not to use
THREAD(*CONCURRENT) unless I needed it because it adds overhead. I
don't remember all of the specifics, but I think it does stuff like
create mutexes to make variables thread safe, duplicate all of the
static variables to ensure each thread has their own copy, and other
stuff.
THREAD(*CONCURRENT) just gives you separate static storage for each
thread. Mutexes are only involved if you code the SERIALIZE keyword on
a particular procedure.
I don't know how much performance overhead there is for having
separate static storage for each thread, but I assume it would only
affect the time for thread-creation.
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxx for any subscription related
questions.
Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com
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.