George,
Ohhhhh I'm really sorry. It's funny now that I go back and look I'm surprised that I missed that. That's a horse of a different color.
Basically to answer your question Transcript is not thread safe. I'm not sure exactly where it goes wrong but I suspect that it is probably doing a copy somewhere and if one collection is used as a source and is copied at the same time with two new additions then one gets lost.
To fix that you can set a semaphore which basically says don't try to access Transcript from two places at exactly the same time.
semaphore := Monitor new. [10 timesRepeat: [semaphore critical: [Transcript show: '2']]] fork. [10 timesRepeat: [semaphore critical: [Transcript show: '1']]] fork. Transcript cr.
This should make transcript thread safe.
Hope that helps,
Ron Teitelbaum
-----Original Message----- From: beginners-bounces@lists.squeakfoundation.org [mailto:beginners- bounces@lists.squeakfoundation.org] On Behalf Of George Herolyants Sent: Tuesday, February 20, 2007 3:28 PM To: A friendly place to get answers to even the most basic questions aboutSqueak. Subject: Re: [Newbies] BlockClosure>>fork problem
Thanks for this answer, Ron. But actually I'm not confused with order in wich '1' and '2' presents in result line. I can't understand why in some cases this code results ten '1' and ten '2' and in some cases it results ten '2' and only nine '1'? _______________________________________________ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners