[comp.sys.amiga.tech] threads

jim@tct.uucp (Jim Kunzman) (02/15/90)

Having just survived an initial encounter with OS/2, I found that I quite
liked working with threads.  Although I've owned an Amiga 1000 for five
years, I find that I'm very ignorant about programming in the Amiga
environment.  My question is "Does AmigaDos support multiple threads within
a process like (or unlike) OS/2?"
-- 
Jim Kunzman at ComDev/TCT     <jim@tct.uucp>, <uunet!ateng!tct!jim>
         "!(This space intentionally left blank.)"

peter@sugar.hackercorp.com (Peter da Silva) (02/15/90)

In article <25D99900.51AD@tct.uucp> jim@tct.uucp (Jim Kunzman) writes:
> My question is "Does AmigaDos support multiple threads within
> a process like (or unlike) OS/2?"

My answer is "mu".

Or more exactly, AmigaOS tasks are already low overhead execution units
like threads.

If you want even lighter weight objects, cut your own coroutines in C. It's
fairly easy.
-- 
 _--_|\  Peter da Silva <peter@sugar.hackercorp.com>.
/      \
\_.--._/ I haven't lost my mind, it's backed up on tape somewhere!
      v  "Have you hugged your wolf today?" `-_-'

p554mve@mpirbn.UUCP (Michael van Elst) (02/18/90)

In article <25D99900.51AD@tct.uucp> jim@tct.uucp (Jim Kunzman) writes:
>
>Having just survived an initial encounter with OS/2, I found that I quite
>liked working with threads.  Although I've owned an Amiga 1000 for five
>years, I find that I'm very ignorant about programming in the Amiga
>environment.  My question is "Does AmigaDos support multiple threads within
>a process like (or unlike) OS/2?"

A direct answer: NO.

BUT !

Where did the need for threads origin from. It's mereley the overhead
introduced to process switching on some operating systems. If there
would be no cost, you can be happy with processes and semaphores
(the latter if you identify threads with _atomic_ actions).

Since the Amiga OS doesn't have this overhead due to lack of
memory mapping, resource tracking, etc..., you can just use processes
to do your work. On the other side, most things in the Amiga OS
is done via message passing which operates almost asynchronous.
Therefore many application that needs multiple processes (or threads
to be efficient) aren't needed. Of course you have to adapt for this
structure.

BTW, last year there had been much discussion about Matt Dillons
light weight processes (or what it has been called). What's the state
of this project ? Would it be usable for 'thread'-like programming ?

Michael van Elst
uunet!unido!mpirbn!p554mve