in reply to Re: threads::shared - when to lock a hash ?
in thread threads::shared - when to lock a hash ?

The first requirement ... dictates the true and comprehensive need for locking. It applies not only in the Perl environment but also in every other situation.

You're at it again. Spouting utter twaddle! Even in the face of prior authoritative information in this thread by the man that knows.

For any value that can be read & written atomically -- which, for example in C on a 64-bit processor, includes all suitably aligned integers, floating point values and addresses up to 64-bits in length -- locking is unnecessary for reading or writing.

And in the case of Perl and threads::shared, scalar variables -- including those embedded within hashes or arrays -- can be read at any time without locking. Even if another thread is attempting to modify that same scalar. You will either get the value before the writer writes, or you'll get the value after it has written.


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.
  • Comment on Re^2: threads::shared - when to lock a hash ?