On Sep 26, 2015, at 2:03 PM, Jens Alfke wrote:

> 
>> On Sep 26, 2015, at 10:51 AM, Programmingkid <[email protected]> 
>> wrote:
>> 
>> When I click on a menu, the application pauses. That seems pretty much like 
>> a smoking gun that things haven't changed much with the Mac OS.
> 
> “The application pauses” is a pretty vague statement. If you’ve got a 
> periodic task on the main runloop, driven by an NSTimer or a delayed-perform, 
> then just make sure to specify that it runs in NSEventTrackingRunloopMode, as 
> Eric said. The default runloop mode doesn’t get time during this kind of 
> event tracking, to avoid problems like alerts popping up while you’re 
> dragging a slider or selecting text.

I just wish there were an easy way for the a task on the main thread to 
continue to work even if the user is looking at a menu. Using multiple threads 
has a lot of problems associated with it.

> 
> Things with the OS have actually changed a great deal. Believe me, I was 
> there during the transition. The way the ‘classic’ OS worked was entirely 
> different — there was no threading to speak of, and pulling down a menu 
> literally put the _entire OS_ into a tight loop where it waited for the mouse 
> to move and drew menus. The app couldn’t handle events or get any time at 
> all; in fact no running app could do anything at all.
> 
> (Yes, there were interrupt-level tasks, and later on the “Thread Manager” 
> which allowed pre-emptive threads. But the set of things you could do from 
> there was extremely limited: pure computation and — if you were very, very 
> careful — limited file I/O or networking. You couldn’t even use regular 
> malloc/free on a background task, because almost nothing in the OS was 
> thread-safe. IT WAS HELL. It was a toy operating system compared to anything 
> that exists today, except for maybe Arduinos.)

I remember those days well. Good bye WaitNextEvent()! 
_______________________________________________

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to