Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Re: Things you need to know before programming Perl ithreads

by BrentDax (Hermit)
on Jan 22, 2005 at 04:17 UTC ( #424182=note: print w/replies, xml ) Need Help??

in reply to Things you need to know before programming Perl ithreads

Now you may wonder why Perl ithreads didn't use fork()? Wouldn't that have made a lot more sense? Well, I wasn't involved in the thread design process at the time, so I have no idea what the exact reasons were.

Hysterical raisins--surprisingly good ones, but still hysterical raisins. ithreads were originally developed to emulate fork(1) on Windows, which doesn't have such a call; thus, they couldn't be built on fork.

Besides, as your forks module demonstrates, most of the speed wins of using fork(1) on systems that have it would be lost in the interthread communications. The general consensus seems to be that you should use ithreads in code with a lot of interthread communications, a magic open (or such) in code with a little communication, and a raw fork in code with very little communcation.

--Brent Dax
There is no sig.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://424182]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (10)
As of 2016-10-24 20:49 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (309 votes). Check out past polls.