Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^9: Utter FUD!

by ysth (Canon)
on Oct 26, 2010 at 23:15 UTC ( #867564=note: print w/ replies, xml ) Need Help??


in reply to Re^8: Utter FUD!
in thread is ||= threadsafe?

Maybe this has changed since 5.10.1, but somehow I doubt it.

You don't appear to fall into the category I mentioned who would not call it an alias. Perl magic uses the magic SV as a buffer between whatever accesses the SV and the magic underneath; the SV will have as many usual fields as necessary for this. As an example, here a shared string has two completely separate string buffers:

perl -wle'use B; use threads; use threads::shared; my $s:shared; $s = +"123456"; my$t=threads->new(sub{$s}); use Devel::Peek; Dump $s; Dump +${ bless(\(my$x=is_shared($s)), "B::SV")->object_2svref }; $t->join() +'
Re: fork, I think you are willfully misunderstanding what Tye meant by mentioning fork, so I don't care to argue.
--
A math joke: r = | |csc(θ)|+|sec(θ)|-||csc(θ)|-|sec(θ)|| |
Online Fortune Cookie Search
Office Space merchandise


Comment on Re^9: Utter FUD!
Download Code
Re^10: Utter FUD!
by BrowserUk (Pope) on Oct 27, 2010 at 06:50 UTC
    I think you are willfully misunderstanding what Tye meant by mentioning fork

    Sorry ysth, but no. I am wilfully understanding Tye's motivation for repeatedly mentioning "fork emulation" is this regard.

    And I am wilfully denying him the use of that easy-to-understand slur, by showing that in regard to iThreads his, easy understanding, belies the truth.


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

      By common definition of threads, a process's variables are shared among all threads. (Wikipedia says: "In particular, the threads of a process share the latter's instructions (its code) and its context (the values the various variables have at any given moment).") That's not the case with threads, thus the term "fork emulation". It has nothing to do with the point at which execution starts. Yes, it's not a very accurate term, but it's not a slur either.

        By common definition of threads,

        In C yes. How about Erlang? Or Haskell? Or Java? Or.... Why should Perl alone have to have to copy C?

        iThreads are not simple Kernel threads. They could not be so in an interpreted language with fat variables.

        But neither are they new processes--forks defining characteristic--so any allusion to that is simplistic, inaccurate and deliberately misleading.

        You might wanna get off of those coat-tails....


        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.
      Truth, shmooth. If you understand and disagree with his intent, argue against that; don't play games arguing against his words in ways you know don't apply to his intent.
      --
      A math joke: r = | |csc(θ)|+|sec(θ)|-||csc(θ)|-|sec(θ)|| |
      Online Fortune Cookie Search
      Office Space merchandise
        If you understand and disagree with his intent

        That is exactly what I believe I've been doing. iThreads do not emulate fork.

        An F1 car has many commonalities with a MAC truck. Does that make it an emulation of a MAC truck?


        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.

        Let's see if I can bring this thread to a meaningful close.

        Would you stand up and describe what happens when you call threads::create() as a "fork emulation" at say, next year's YAPC? In front of Artur Bergman?


        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (4)
As of 2014-09-20 03:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (152 votes), past polls