YW. Maybe one day, I'll know enough.

For now, I am not even sure that I know, what I don't know on the subject. I am already discovering things I thought I knew, and have stated publically without challenge--often several times--are incorrect. How much more of what I think I know, is? I'd hate to put out YABHT document or tutorial.

I've sat down to try and collate those bits of knowledge I have acquired relating to iThreads, on a couple of occasions. Each time, I realise just how many holes there are in what I know. All of what I know is derived soley from their use, and their use on my preferred platform; Win32. Some, or all of that knowledge may be completely invalidated on other platforms.

I've attempted to fill these holes by reading the sources to threads & threads::shared a few times, but I find XS almost unintelligable. Understanding comes with use, and I have never been a lover of writing C code, despite having been doing it for over 15 years (on and off). XS is like a completely different language with it's own syntax; short and obscure library function names; and not a lot by way of documentation. It's something I think you can only learn by doing, and as it's ultimately a dead end in it's current form, of no real interest to me.

Thread related questions don't always get the best response from the die-hard "fork() was good enough in my day" crowd--either here or elsewhere--so what I know comes soley from my own explorations of the subject. Learning in a vacuum is doubley hard.

Ultimately, I don't even like the current design of Perl threads. There are just too many holes in the design that stem directly from the underlying Pthreads API, on which it is quite tightly based. The unfortunate thing is, that this design looks set to persist into P6 :(


Examine what is said, not who speaks.
"But you should never overestimate the ingenuity of the sceptics to come up with a counter-argument." -Myles Allen
"Think for yourself!" - Abigail        "Time is a poor substitute for thought"--theorbtwo         "Efficiency is intelligent laziness." -David Dunham
"Memory, processor, disk in that order on the hardware side. Algorithm, algorithm, algorithm on the code side." - tachyon

In reply to Re^4: Declaring/Assigning thread shared vars by BrowserUk
in thread Declaring/Assigning thread shared vars by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.