adam olsen kjbnfagmailcom guidos asked give quick status report go critical parts design implementation basically done ive implemented monitors contain objects without explicit threadsafe api let remove gil ive created synchronousasynchronous refcounting scheme reuses existing increfdecref api also minimizes contention used one thread net result although theres significant amount overhead demonstrate scalability one thread ive able test two cores though ive replaced __del__ api resurrected objects __finalize____finalizeattrs__ api doesnt attributes listed __finalizeattrs__ proxied core object finalizer thread given reference core main object deleted gc asynchronously notifies finalizer thread call core__finalize__ net result api similar __del__ need list attributes might use impossible gc run arbitrary code even enforce missing generator cleanup dont allow gc run generator long enough raise generatorexit alternative needed im currently working flushing design recently rewrote reenabled tracing gc next automatic deadlock detectionbreaking merging back cpython could build smaller patches design cant completely separated example __finalize__ called another thread monitors monitormethod applied dont specifically require monitor object therefor methods shareable monitor easiest way provide adam olsen aka rhamphoryncus _______________________________________________ python3000 mailing list smsbmo9552pythonorg httpmailpythonorgmailmanlistinfopython3000 unsubscribe httpmailpythonorgmailmanoptionspython3000python300040tangomucom wed 06 aug 2008 060309 0600 python3000 pythonsafethread project status