http://www.perlmonks.org?node_id=672931


in reply to Re: threads::shared variables not really shared... or are they?
in thread threads::shared variables not really shared... or are they?

The original added 100 1Mbyte strings to @a. Your example adds 50 * 10 = 500 1Mbyte strings to @a. Also, each thread will create a 1Mbyte private scalar; the original only created a single big string.

(The lack of locks is a bit troubling, but the aforementioned global interpretter lock is probably keeping your example out of trouble)


Perl Contrarian & SQL fanboy