In a word, yes :)
 
If you are accessing a piece of memory across threads, you should be making 
sure you are synchronizing any access to that memory which could occur across 
threads. For simple primitives (such as possibly your work progress number) 
just using an atomic integer would suffice. For more complicated access, you 
will want better protection (such as using locks around any APIs which can 
access your data). You're probably getting away with it now b/c your UI thread 
(the main thread) is only reading data (the work progress value - I'm guessing 
a single integer or floating point value which can be read/written in a single 
instruction) while the worker thread is modifying it. But it doesn't hurt to 
use proper thread-safe access patterns for data shared between threads even for 
small things like this.
 
-Stefan> From: [EMAIL PROTECTED]> To: [email protected]> Date: Wed, 19 
Nov 2008 15:57:44 -0500> Subject: Question about NSThread?> > I have an app 
that generates a bunch of images... the process can be > long so I wanted to 
start it in a separate thread so that the UI can > be responsive etc...> > 
basically the only thing I did was:> > [NSThread 
detachNewThreadSelector:@selector(doLongProcess) > toTarget:self 
withObject:nil];> > and I added> > NSAutoreleasePool *pool = 
[[NSAutoreleasePool alloc] init];> > at the beginning of my doLongProcess 
method, and [pool release] at the > end...> Now the weird part is that... it 
appears to be working... the images > are created...the UI stays responsive..my 
status textfield gets > updated (it wasn't getting updated when the long 
process was not in a > separate thread)...> > Am I wrong to think that it 
should've been much more complex than > that? (With NSLocks and whatnot...) 
Maybe I should just shut up and be > happy that it work, but somehow this 
doesn't seem right...> > Jean-Nicolas Jolivet> [EMAIL PROTECTED]> 
http://www.silverscripting.com> > 
_______________________________________________> > Cocoa-dev mailing list 
([email protected])> > Please do not post admin requests or moderator 
comments to the list.> Contact the moderators at 
cocoa-dev-admins(at)lists.apple.com> > Help/Unsubscribe/Update your 
Subscription:> 
http://lists.apple.com/mailman/options/cocoa-dev/stefan_sinclair%40hotmail.com> 
> This email sent to [EMAIL PROTECTED]
_________________________________________________________________
Proud to be a PC? Show the world. Download the “I’m a PC” Messenger themepack 
now.
hthttp://clk.atdmt.com/MRT/go/119642558/direct/01/_______________________________________________

Cocoa-dev mailing list ([email protected])

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to