in reply to Re^2: what the history behind perl not having "real" threads
in thread what the history behind perl not having "real" threads
Is this required by the language
There's nothing in the language that precludes a 5.0005-style threading implementation. The difficulty was in retrospectively trying to make the existing implementation thread-safe, where it had never been designed for that possibility. This is one of the (many) reasons why it was concluded that a complete from-the-ground-up rewrite of the perl interpreter was required, i.e. perl6.
The main drawbacks of the ithreads model are: that cloning the existing interpreter when creating a new thread is slow;
that it uses lots of memory, since the new interpreter doesn't make any use of the OS facilities that a fork() would, of sharing memory by default with copy-on-write pages; and that having shared variables is slow, clunky and is memory-heavy.