Re: Updating a progress bar from a code loop
Re: Updating a progress bar from a code loop
- Subject: Re: Updating a progress bar from a code loop
- From: j o a r <email@hidden>
- Date: Tue, 10 Jun 2008 21:40:00 -0700
On Jun 10, 2008, at 3:17 AM, Graham Cox wrote:
though out of curiosity I wonder if there is a way to do this
"cooperatively" on the main thread without having to break up the
loop doing the actual work. For example, in Carbon one can run the
event loop for a short period or just for one event on each cycle of
the loop - and this code can live in the progress dialog controller,
so it works transparently with respect to the loop that drives the
progress indicator. I'm not sure that approach is considered "good"
in this day and age though I used it a lot on Mac OS 6/7/8/9. Just
wondered if such an approach is feasible in Cocoa.
Yes, you can do that. You would typically use a NSTimer to repeatedly
schedule small pieces of work to be performed on the main thread. You
wouldn't have to use a modal session to do this - It is certainly not
a requirement to lock out the user while processing data.
That said - No, it is not considered to be a good approach. It's
almost impossible to implement it in such a way that it doesn't affect
the user experience. It's typically much better, and more "future
safe", to invest your time in a multi-threaded implementation.
j o a r
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden