So Perl boldly went and implemented (interpreter-based) threads (i.e. without OS support),
That is completely wrong.
Perl's iThreads are essentially thin wrappers over OS (kernel) threads:
- pthreads on *nix;
- Windows threads on Windows.
The term "interpreter threads", simply means that each kernel thread runs a separate instance of the Perl interpreter. In this way, each thread runs in its own distinct memory; despite that all of their memory is part of the same single process.
Equally, the rest of your post is a total misunderstanding of the implementation; and a complete misreading of the actual history.
Please refrain from further comment on a subject you clearly have nothing useful to contribute to.
|