× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



I consider a shared user space better because the CPU cycle overhead is
lower and the semantics are cleaner.  I agree that db records and data areas
can be made to work but they include a lot more CPU overhead, may cause
physical disk IO, and the semantics are not exactly like variables shared
between threads.  I also dislike the cost to create a process on an AS/400.
Different strokes.

Richard Jackson
(speaking only for myself)

-----Original Message-----
From: owner-rpg400-l@midrange.com [mailto:owner-rpg400-l@midrange.com]On
Behalf Of Rich Duzenbury
Sent: Wednesday, February 28, 2001 4:23 PM
To: RPG400-L@midrange.com
Subject: RE: Multithreaded Programming


Yes, we can spend time discussing the semantic differences between threads
and processes.  Technically, my solution does not directly use threads, but
as you point out, processes.   The work gets done in a similar manner to
the point where it most likely doesn't matter.

As I understand threads in the general sense, they do not have access to
each others variables, with the exception of process global variables and
thread global variables.  At least that's how they work on other platforms
I use them on.

I am curious as to why you consider a shared named user space 'better' than
a data area or database record for sharing data between threads (er,
processes as you point out)?  Data areas and database records have some
excellent pluses.  They are supported by the operating system back at least
as far as S/38.  It is quite easy to have OS/400 be an effective 'gate
keeper' by using the data area and record 'lock' mechanisms to synchronize
access to shared information.  They are very easy to implement, and (most
important, IMO) most programmers already understand them.

Regards,
Rich

At 01:49 PM 2/28/01 -0600, you wrote:
>A strict interpretation of multithreading means that the threads have
access
>to each other's variable storage in memory.  Obviously there are controls
on
>this sharing.  Your description below is for multi - processes and multi -
>threads.  Separate processes cannot access each other's variables.  It may
>not matter to the original requester - but then again it might.  If you use
>separate processes and you want them to share global data, I submit that a
>shared named user space would be a better solution.  There is a "compare
and
>swap" or "test and set" function to control concurrent updating.
>
>Richard Jackson
>(speaking only for myself)
>
>-----Original Message-----
>From: owner-rpg400-l@midrange.com [mailto:owner-rpg400-l@midrange.com]On
>Behalf Of Rich Duzenbury
>Sent: Wednesday, February 28, 2001 10:42 AM
>To: RPG400-L@midrange.com
>Subject: Re: Multithreaded Programming
>
>
>The simplest multithread mechanism I know of is SBMJOB!  Each job can wait
>indefinitely for it's parameters (using little system resources) by waiting
>for a data queue message.  The parent can then signal the child to start
>processing by sending a message to the data queue.  Once the thread is
>complete, the child can end, or if you like go back to waiting for another
>message.  Global data can be safely shared in a data area or a database
>record - you just have to be sure to watch your locking.
>
>Regards,
>Rich
>
>At 04:02 PM 2/28/01 +0000, you wrote:
> >Hi All,
> >
> >I need some help on creating an application(RPG/CL) which can use
> >multithreads while running the job.
> >Can anyone give me some direction with examples.
> >
> >thanks in advance,
> >Ray.
> >_________________________________________________________________
> >Get your FREE download of MSN Explorer at http://explorer.msn.com
> >
> >+---
> >| This is the RPG/400 Mailing List!
> >| To submit a new message, send your mail to RPG400-L@midrange.com.
> >| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
> >| To unsubscribe from this list send email to
RPG400-L-UNSUB@midrange.com.
> >| Questions should be directed to the list owner/operator:
>david@midrange.com
> >+---
>
>Regards,
>Rich
>
>+---
>| This is the RPG/400 Mailing List!
>| To submit a new message, send your mail to RPG400-L@midrange.com.
>| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
>| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
>| Questions should be directed to the list owner/operator:
>david@midrange.com
>+---
>
>+---
>| This is the RPG/400 Mailing List!
>| To submit a new message, send your mail to RPG400-L@midrange.com.
>| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
>| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
>| Questions should be directed to the list owner/operator:
david@midrange.com
>+---

Regards,
Rich

+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator:
david@midrange.com
+---

+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

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

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.