On Tue, 4 Jun 2002, Matthew T. Kromer wrote:
All Python data structures are protected by this singular lock. Locking is thus very coarse grained, but fairly efficient -- were every data structure to have its own lock, the overhead of locking would become prohibitive.
Every action within the interpreter with a few very rare exceptions requires the GIL to be held by the invoking thread.
Matt, OK, thanks for the info -- I suspected this were the case. We have been doing a few tests with python/Zope on multi-processor machines (Sun boxes mainly). One question that continually gets asked is: "How does Java handle this?". Since Sun tout java so much, you would expect them to have solved most of the issues of scalability of java on their own hardware. So from this I am guessing that Java has a finer-grained locking model. Any ideas? -Matt -- Matt Hamilton matth@netsight.co.uk Netsight Internet Solutions, Ltd. Business Vision on the Internet http://www.netsight.co.uk +44 (0)117 9090901 Web Hosting | Web Design | Domain Names | Co-location | DB Integration