Well, the need has been there for a long time (i.e. since we started using multiprocessor machines). Since my knowledge of the internals is close to zero I can't predict the steps needed to achieve it, though. Per-thread string pools? Explicit disabling of thread switching in Pike code that relies on the interpreter lock? Incremental gc?
/ Jonas Walldén
Previous text:
2004-02-01 09:13: Subject: Re: Default backend and thread backends?
So, basically, everything that is external (C modules) is not affected?
Yes. While Pike is executing Pike code, it locks the Big Main Pike Interpreter Lock. This is process-global. When it stops doing that the lock is released, and heavy C functions do release it. (Not all, since it takes some computrons to release and lock.)
Well, then another question - is it planned to make Pike really multithreaded, so Pike code will be executed simultaneously?
I don't know. I don't think anyone has really felt the need for that.
/ Mirar