Each managed app has it's own GC instance. So when an app requests an
allocation that in turn requires collection, the GC suspends all threads in
that process. All other processes, whether managed or unmanaged, are
completely unaffected.
Of course if a collection is occuring, it's likely that resources are low,
so other apps are going to be more likely to collect at that point as well,
and if it's collecting becasue of a WM_HIBERNATE message, then you know that
it was a broadcast to all applications and all managed apps will BE
collecting at that point. So while the GC of each process isn't inherently
linked, since collection is tied to available resources, and resources are
shared among all processes, it's quite possible for events to occur that
would lead to multiple processes to be collecting at the same time.
-Chris
"Joe" <(E-Mail Removed)> wrote in message
news:2E85DBB2-095E-46DF-9124-(E-Mail Removed)...
> Thank you. I just wanted to clarify your statement that "The GC only
> suspends the threads of the collecting app".
>
> Does this mean that the garbage collector only suspends the application
> whose memory is currently being collected? If six garbage collected
> processes are running, then would each of the six be briefly suspended
> while
> their own memory was garbage collected? Does this mean that at any given
> time during garbage collection, that only 1 process will be suspended and
> the
> other five will be running normally?
>
> "<ctacke/>" wrote:
>
>> The GC only suspends the threads of the collecting app. All other apps,
>> managed or unmanaged, are untouched.
>>
>>
>> --
>> Chris Tacke
>> OpenNETCF Consulting
>> www.opennetcf.com
>> --
>>
>>
>>
>> "Joe" <(E-Mail Removed)> wrote in message
>> news:80BA4975-0E06-4879-8935-(E-Mail Removed)...
>> > Hello,
>> >
>> > Our application will have a few managed and unmanaged processes running
>> > at
>> > all times. What happens to the managed and unmanaged processes when
>> > the
>> > garbage collector runs? Are they all suspended until garbage collection
>> > completes or only the managed processes?
>> >
>>
>>
>>