Perlのスレッドモデル

少し調べてみて、門外漢ながらPerlのスレッドモデル(インタプリタスレッド)そのものに無理がある感じをうける。インタプリタスレッドの生成はfork()エミュレーションと同じように動作するらしい。つまり通常の変数はインタプリタスレッド間で共有されないようになっている。スレッド間の隔離をはかるためというのはよくわかるが、現実には至る所に抜け穴があるのだからかえって紛らわしいと思うのは私だけだろうか? そもそもPerlにとってプロセスとスレッドの違いは何なんだろう。