in reply to Re^3: Declaring/Assigning thread shared vars
in thread Declaring/Assigning thread shared vars

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
  • Comment on Re^4: Declaring/Assigning thread shared vars