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

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.

=cut
--Brent Dax
There is no sig.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://424182]
help
Chatterbox?
[Corion]: marto: Great! The German Perl Workshop was a success even though things looked dire before, and I'm now back at home with two days off work still to go ;)
[Corion]: I hope things have settled down a bit for you and the boys are alright?!
[choroba]: Good morning, if a bit rainy

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (5)
As of 2017-06-29 08:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    How many monitors do you use while coding?















    Results (655 votes). Check out past polls.