Steve,
From WIK, thread->boss memory spaces are isolated by the perl
interpreter's own threads. (aside from thread::shared modifications)
Generally I do not use a hash to pass back and forth because of its data
structure (pointers out the butt) and difficulty of placing locks on the
data to prevent race conditions and corruption due to one reading while
another is writing. My method of choice is pushing data back and forth
using a queue w/ serialize's freeze/thaw mechanism because you get
accurate data content transfer, without messy pointer errors or the
aforementioned thread competition issues.
I, actually, use a modified version of the ThreadUtils package from back
in the spring when we were all actively playing with the system. I am
not currently gainfully employed as a perl GUI programmer, or I would
have completed my package for others to use. Still, the theoreticals
behind it still stand true. Always lock and/or mutex shared data!!
Somewhere I actually have a working example of a system that
independently operates the different windows outside of the GUI object
space, removing the problematic message stack issues. If I cant find it
and someone needs it, it will take some time for me to whip up, but I
can recreate it in a day.
Jaosn Plum
Head of IT R&D
DAJ Strategic Solutions
Steve Loughran wrote:
Thanks for that, that puts my mind at rest.
Never having written any threaded/forked code before, I need to ask a
few questions:
- Is it safe for a "worker" thread to access hashes/arrays in the "boss"
thread if they only need read access to them?
- Any changes required to "boss" thread hashes/arrays should be handed
back from the "worker" thread through the queue system, and let the
"boss" process and change anything that needs to be changed? Or are boss
hash/array changes done in a worker thread OK? (that sounds like trouble
to be honest).
- Can "worker" threads call subs outside the workers call sub (i.e in
the boss's area)?
Nice examples in the threadutil zip, Robert... clean, simple, to the
point... great as always :)
Steve
[EMAIL PROTECTED] wrote:
Hi,
Yes Win32: :GUI: :ThreadUtils will be integrated into the core - it will not
change that much, perhaps the odd method or function call.
Cheers,
jez
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Perl-Win32-GUI-Users mailing list
Perl-Win32-GUI-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users
http://perl-win32-gui.sourceforge.net/