Madhu Reddy wrote:
> hi,
> I just want to find out how and when to use locks in
> threads...
> i have following program..
> in following %bounds is global variable....
> each thread will update %bounds....
> and later i am using %bounds...
>
> do i have lock the %bounds before each thread update ?
>
>
> my %bounds = ();
>
>
by default, %bounds is not shared among threads (local variable is not
shared among threads), you have to tell Perl that you want to share it
like:
use threads::shared;
my %bounds : shared = ();
now that %bounds is shared, you need to lock it when you update/access
%bounds. again you have to tell Perl that you want to lock it like:
{
lock(%bounds);
#-- do something with %bounds
}
#-- unlock when block exit
the bare block is important, Perl unlocks %bounds automatically when the
block exit.
david
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]