From: BeeJ on
So what is happening?
In both cases I have set Thread Per Object.
I instantiate four of the same ActiveX EXEs (set as an array of Ax().
With SingleUse I see all four in Process Explorer.
with MultiUse I see one in Process Explorer.
The Main App runs and uses what is provided in either case but ...

Is the MultiUse some sort of reentrant thing?
Is there only one copy in memory?
How is the CPU interacting with these?

All are working at the same time (as sliced).
But maybe the timing is better with SingleUse. i.e. I could run faster
due to lower overhead.

Sorry I do not know the terminology to research this and if I did I
probably would not get the gist of it.
Still in learning mode ... thanks for your patience.


From: Nobody on
"BeeJ" <nospam(a)live.com> wrote in message
news:i43s74$s8u$1(a)speranza.aioe.org...
> So what is happening?
> In both cases I have set Thread Per Object.
> I instantiate four of the same ActiveX EXEs (set as an array of Ax().
> With SingleUse I see all four in Process Explorer.
> with MultiUse I see one in Process Explorer.
> The Main App runs and uses what is provided in either case but ...
>
> Is the MultiUse some sort of reentrant thing?
> Is there only one copy in memory?
> How is the CPU interacting with these?
>
> All are working at the same time (as sliced).
> But maybe the timing is better with SingleUse. i.e. I could run faster
> due to lower overhead.
>
> Sorry I do not know the terminology to research this and if I did I
> probably would not get the gist of it.
> Still in learning mode ... thanks for your patience.

Check "Thread Count" in Task Manager. I think you would see that the Single
Use has at least 4.


From: Paul Clement on
On Fri, 13 Aug 2010 09:34:21 -0700, BeeJ <nospam(a)live.com> wrote:

� So what is happening?
� In both cases I have set Thread Per Object.
� I instantiate four of the same ActiveX EXEs (set as an array of Ax().
� With SingleUse I see all four in Process Explorer.
� with MultiUse I see one in Process Explorer.
� The Main App runs and uses what is provided in either case but ...

� Is the MultiUse some sort of reentrant thing?
� Is there only one copy in memory?
� How is the CPU interacting with these?

� All are working at the same time (as sliced).
� But maybe the timing is better with SingleUse. i.e. I could run faster
� due to lower overhead.

� Sorry I do not know the terminology to research this and if I did I
� probably would not get the gist of it.
� Still in learning mode ... thanks for your patience.


Some your questions would require a little more info, but you can find the differences between
Instancing values documented in the below article:

http://msdn.microsoft.com/en-us/library/aa242107%28VS.60%29.aspx


Paul
~~~~
Microsoft MVP (Visual Basic)
From: BeeJ on
Paul Clement formulated the question :
> On Fri, 13 Aug 2010 09:34:21 -0700, BeeJ <nospam(a)live.com> wrote:
>
> � So what is happening?
> � In both cases I have set Thread Per Object.
> � I instantiate four of the same ActiveX EXEs (set as an array of Ax().
> � With SingleUse I see all four in Process Explorer.
> � with MultiUse I see one in Process Explorer.
> � The Main App runs and uses what is provided in either case but ...
> �
> � Is the MultiUse some sort of reentrant thing?
> � Is there only one copy in memory?
> � How is the CPU interacting with these?
> �
> � All are working at the same time (as sliced).
> � But maybe the timing is better with SingleUse. i.e. I could run faster
> � due to lower overhead.
> �
> � Sorry I do not know the terminology to research this and if I did I
> � probably would not get the gist of it.
> � Still in learning mode ... thanks for your patience.
> �
>
> Some your questions would require a little more info, but you can find the
> differences between Instancing values documented in the below article:
>
> http://msdn.microsoft.com/en-us/library/aa242107%28VS.60%29.aspx
>
>
> Paul
> ~~~~
> Microsoft MVP (Visual Basic)

Well not what I was after. I saw similar in MSDN Help (F1) from the
IDE. I am more interested in what the CPU does.
When only one appears in Process Explorer and i have instantiated four,
what is really going on? I left the question slightly ambiguous to get
outside the box responses that give me more fodder.
Is there more overhead?
These are small ActiveX EXE with no global data to speak of so having
four in memory does not seem like too much but ... ?
If I need more speed or more assurance that something will get done
when I request it? Those are what matters to me.
In the past I did similar but the interface driver that my ActiveX EXE
talked to was not reentrant and it really was a pain because i could
not get anything to work. I think National Instruments finally came
out with a reentrant driver but by then the management had thrown in
the towel. Anyway, i am retired now so i don't give a hoot about that.


From: Jim Mack on
BeeJ wrote:

> When only one appears in Process Explorer and i have instantiated
> four, what is really going on? I left the question slightly
> ambiguous to get outside the box responses that give me more fodder.
> Is there more overhead?

Processes don't run -- only threads run. Four processes each with a
single thread shouldn't work any faster or slower than four threads in
a single process.

There will be startup overhead for each process and for each thread,
and some small memory overhead for each process, but aside from that
it should make no difference to performance.

--
Jim Mack
Twisted tees at http://www.cafepress.com/2050inc
"We sew confusion"