
Tim Peters wrote:
[...] I'd also like to postulate that proposed solutions can rely on a new Python C API supplying a portable spelling of thread-local storage. We can implement that easily on pthreads and Windows boxes, it seems to me to cut to the heart of several problems, and I'm willing to say that Python threading doesn't work anymore on other boxes until platform wizards volunteer code to implement this API there too.
FWIW, I am pretty confident that this can be done (read: copied) as Douglas Schmidt has implemented it (on more platforms than python supports <wink>) in the Adapative Communication Framework (ACE): http://doc.ece.uci.edu/Doxygen/Beta/html/ace/classACE__TSS.html As usual, Douglas Schmidt also presents a detailed platform analysis and research about his implementation: http://www.cs.wustl.edu/~schmidt/PDF/TSS-pattern.pdf "This paper describes the Thread-Specific Storage pattern, which alleviates several problems with multi-threading performance and programming complexity. The Thread-Specific Storage pattern improves performance and simplifies multithreaded applications by allowing multiple threads to use one logically global access point to retrieve thread-specific data without incurring locking overhead for each access." regards, holger