Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: Re: Status and usefulness of ithreads in 5.8.0

by BrentDax (Hermit)
on Jul 15, 2002 at 22:08 UTC ( [id://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.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others chilling in the Monastery: (4)
As of 2024-04-24 19:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found