× 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.


  • Subject: RE: Multithreaded Programming
  • From: Rich Duzenbury <rduz@xxxxxxxxxxxxxxxxxxx>
  • Date: Thu, 01 Mar 2001 12:16:34 -0600

This sounds like performance vs simplicity.  I agree with you in the case 
where you must create hundreds or thousands of threads, but in the 'small' 
case of needing a thread or three, I prefer the simple multi process 
approach, especially since it applicable to so many more operating system 
levels.

I don't know much about 'shared user spaces', but due to the single level 
storage nature of the AS/400, it seems they may also cause physical disk IO.

Regards,
Rich

At 11:06 AM 3/1/01 -0600, you wrote:
>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
>+---

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
+---

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

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.