AnsweredAssumed Answered

VEE Suggestions and a silly question

Question asked by VRFuser on Apr 4, 1997
"Marquardt, Rob" <ramarquardt@mke5.ra.rockwell.com> wrote, among other
things:

>  When an input function is called in VEE, VEE spawns another process
>  with it's own window to input the data and provides an interrupt service
>  routine to handle the interrupt from the spawned input process when
>  it completes (via input, cancel, timeout or whatever).
>
>  The reason for an external process has to do with multi-threading,
>  which Juan pointed out that one instance of a function blocks
>  another until the first is completed. This is inherent in  
> multi-threading.
>  To have two or more at the same time requires two or more instances
>  of the same block of code residing in memory at the same time, which
>  is known as multi-tasking and requires miltiple processes to accomplish.
>
>  Even using re-entrant code would not solve this because only one
>  entry could execute at any given time.

I would just like to point out that Rob is a little confused about
multi-tasking and multithreading.  Multi tasking is an act of the OS
running multiple processes, perhaps the same executable, at the same
time by time sharing the processor(s) but each in its own memory
space.  Multi-threading is an act of the OS or a program where
multiple "threads" of execution are running in the same process, all
sharing a common memory space.  Proper reentrant code allows multiple
executions of the same functions at the "same" time.  In fact, all the
Vee paltforms (Win95, WinNT, HPUX and Solaris) support threads in the
OS so implementation is straight forward.  The complications come from
multiple threads working on the same data and require proper
protections of that data.  Vee protects the user by not implementing
true multithreading.  The cost is loss of some functionality, but the
advantage is greatly simplified coding.

On the otherhand, it seems that user inputs could be made non-modal
and allow other threads to continue.  This should not be added as new
default behavior, but a new selectable option on input objects and
perhaps some others.

Just my $0.02 worth.

lBill
System Test (including DCE pthread testing on occasion)
Transarc Corp.

Outcomes