Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: Re: Status and usefulness of ithreads in 5.8.0

by BrentDax (Hermit)
on Jul 15, 2002 at 22:08 UTC ( #181941=note: print w/ replies, xml ) Need Help??


in reply to Re: Status and usefulness of ithreads in 5.8.0
in thread Status and usefulness of ithreads in 5.8.0

Threads mangle each others variables by default, and you need to explicitely guard yourself against that from happening. (Note that just *looking* at a variable can mean Perl changes the variable under the hood - it's not a safe operation.) fork is safe for your data, you need to explicitely share data (using shared memory for instance).

Not true. Variables under ithreads (what threads.pm implements) need explicit sharing. (You do this by saying my $variable : shared.) The difference is that Perl still manages your variables, so you don't have the problems inherent in using normal Unix IPC (such as it not meshing well with Perl).

Do you know which thread is going to handle a send signal? On any signal capable OS? I know when I fork().

I'm not sure about this, but I think Perl 5.8's new safe signals have a way to deal with this.

=cut
--Brent Dax
There is no sig.


Comment on Re: Re: Status and usefulness of ithreads in 5.8.0
Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (9)
As of 2014-09-01 08:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (299 votes), past polls