Re: CComMultiThreadModelNoCS
"George" <George@discussions.microsoft.com> wrote in message
news:E6B8C3DD-FDEB-46A6-88AE-7EC617480106@microsoft.com
I read the code for class CComMultiThreadModelNoCS of ATL. What means,
--------------------
(Section Threading Model Support, Chapter 3 Objects in ATL, ATL
Internals) CComMultiThreadModelNoCS is designed for multi-threaded
objects the eschew object-level locking in favor of a more
fine-grained scehme? --------------------
CComObjectRoot provies two methods - Lock and Unlock - for locking an
entire object. These methods delegate to the threading model class.
CComMultiThreadModel implements these as entering and leaving a critical
section (an instace of which becomes a data member of your class).
CComMultiThreadModelNoCS implements them as no-ops, and doesn't generate
the critical section member.
So, if you never use Lock and Unlock but implement your own
synchronization mechanism, you may choose to use
CComMultiThreadModelNoCS and avoid an overhead of an unsused critical
section in your object.
--
With best wishes,
Igor Tandetnik
With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going to
land, and it could be dangerous sitting under them as they fly
overhead. -- RFC 1925