OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
 
From: Charles Gamble (Charles.GambleSINGULARITY.CO.UK)
Date: Tue Oct 02 2001 - 03:33:23 CDT

  • Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

    Thanks for the help Richard,

    I am running tests where there is a lot of operations happening concurrently
    on MTS/COM+ components. I have about 64 concurrent threads calling many
    components. All the components are set as ThreadingModel "Both". In MTS on
    NT, when I look at the no of "In Call" for all my components in total, it
    will jump to 60 - 70 and back down again quite often.

    However, when I run the same test in COM+, the "In Call" total will stay
    below 10. Very rarely, the total in call will jump up to between 20 - 50,
    but this may not be an accurate stat and only happened once or twice in a
    hour long test.
    This makes me think that the maximum number of threads is being reached in
    COM+.
    If a component uses an MTA, is it still restricted to the number of
    concurrent threads that can run?

    Also, is there some way to see which apartment you are running in?

    Thanks a lot,
                    Charles.

    -----Original Message-----
    From: Richard Blewett [mailto:richard.blewettVIRGIN.NET]
    Sent: 01 October 2001 18:05
    To: DCOMDISCUSS.MICROSOFT.COM
    Subject: Re: COM+ and free threading

    Sorry - your assumtions are not correct.

    TM=Both for a library app means that the objects enter the apartment of
    their creator. For a Server app they enter the MTA.

    TM=Free will force the object to always enter the MTA whether library or
    server.

    In the MTA you have to provide all synchronization yourself - unless you
    turn on COM+ synchronization - in which case only one causality (logical
    call chain) will access the object at any one time. You will still need to
    protect shared state like statics and globals.

    Richard
    http://staff.develop.com/richardb

    -----Original Message-----
    From: Distributed COM-Based Code [mailto:DCOMDISCUSS.MICROSOFT.COM]On
    Behalf Of Charles Gamble
    Sent: 01 October 2001 17:04
    To: DCOMDISCUSS.MICROSOFT.COM
    Subject: COM+ and free threading

    Hi all,

    I realise that when you setup a COM+ component to be threading model "Both",
    it uses the STA thread pool provided by COM+ which is restricted to use 8 -
    10 concurrent threads on a single CPU thread. My question is, if I have a
    component setup to be threading model "Free", will this use the STA
    threadpool? If not, will it be restricted in the number of concurrent
    threads that can access it?
    Also, will the component have to be thread safe, protect instance data,
    etc.? Or will this be provided by COM+?

    Any help is appreciated.
            Charles Gamble.

    ----------------------------------------------------------------
    Users Guide http://discuss.microsoft.com/archives/mailfaq.asp
    contains important info. Save time, search the archives at
    http://discuss.microsoft.com/archives/index.html .
    To unsubscribe, mailto:DCOM-signoff-requestDISCUSS.MICROSOFT.COM

    ----------------------------------------------------------------
    Users Guide http://discuss.microsoft.com/archives/mailfaq.asp
    contains important info. Save time, search the archives at
    http://discuss.microsoft.com/archives/index.html .
    To unsubscribe, mailto:DCOM-signoff-requestDISCUSS.MICROSOFT.COM

    ----------------------------------------------------------------
    Users Guide http://discuss.microsoft.com/archives/mailfaq.asp
    contains important info. Save time, search the archives at
    http://discuss.microsoft.com/archives/index.html .
    To unsubscribe, mailto:DCOM-signoff-requestDISCUSS.MICROSOFT.COM