hi,

Thank you very much for all these inputs,

 so as i understand it...
 each object when requires syncn gets a slot in the Sync block table, there
are two ptrs- one from the object to the table and the other back to the
object from the sync blk table and these pointers (back to the object) are
treated as weak pointers and scanned accordingly by the GC
sync blk memory is not collected but only the pointer to the obj in the
entries are updated
(since i am looking at the code with the GC perspective)

Are these assumptions about the code correct?
1. the purpose of Gen0List is to reduce scanning time for gen 0 objects
something like a cache? the objects of generations > 0 have to get scanned
from the table entries

2. the entries in the sync blk table are deleted only when
        - there are no more operations wrt syncing being performed on an
object
        - when the object itself has become garbage

Regards.



> See Jeffrey Richter's article on sync blocks for some more gen.
>
> http://msdn.microsoft.com/msdnmag/issues/03/01/NET/default.aspx
>
> > -----Original Message-----
> > From: Discussion of the Rotor Shared Source CLI implementation
> > [mailto:[EMAIL PROTECTED]] On Behalf Of Archana
> > Sent: Monday, January 06, 2003 6:59 AM
> > To: [EMAIL PROTECTED]
> > Subject: [DOTNET-ROTOR] object synchronization
> >
> > Hi,
> >  Rotor documentation talks about syncblk routines as ones that provide
> > runtime support wrt object synchronization,
> > Does this mean sync-ing when many threads are trying to access the
> > object at once ? At which level sync-ing is implied
> > are there any other pointers that explain about sync blocks, why they
> > are required etc.. in detail ?
> >
> > Regards

Reply via email to