http://www.perlmonks.org?node_id=995545


in reply to Re: Use perl type without perl
in thread Use perl type without perl

If you use a non-threaded perl, you probably will never need my_perl.

Could you please elaborate it? I'm curious why non-threaded perl can do what thread perl can't do. Thanks




I am trying to improve my English skills, if you see a mistake please feel free to reply or /msg me a correction

Replies are listed 'Best First'.
Re^3: Use perl type without perl
by BrowserUk (Patriarch) on Sep 25, 2012 at 13:39 UTC

    In a single-threaded perl, there is only one copy of stuff like current working directory, environment etc.

    In a multi-threaded perl, each thread needs its own copy of that information.

    So, for the single-threaded perl, the PERL_CONTEXT can be known at compile time and linked statically into code. A single static pointer to a struct that contains all the per-thread information is all that is required, because there is only one thread.

    In a multi-threaded perl, each function that needs access to the "current PERL_CONTEXT" need to be able to find the appropriate context for the thread it is running in; hence it needs the my_perl variable which tells it which context that is.


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    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.

    RIP Neil Armstrong

    div class=
      Just because in single threaded perl there is no my_perl doesn't mean you can use the types without initializing/having a perl interp set up. SV *s aren't straight malloced from the C lib but come out of a pool the interp maintains.

        Did I say that you could?


        With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
        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.

        RIP Neil Armstrong