Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: Things you need to know before programming Perl ithreads

by BrentDax (Hermit)
on Jan 22, 2005 at 04:17 UTC ( [id://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.

=cut
--Brent Dax
There is no sig.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (3)
As of 2024-04-19 16:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found