每个应用程序都有一种接收(Window Server)窗口服务器事件的机制。对于一个Cocoa应用程序,这种机制叫主事件循环(the main event loop)。 进程用NSRunLoop对象接收来自各种源的输入。默认情况下,在OS X的每个线程都有它自己的运行循环,而一个Cocoa应用程序主线程的运行循环叫做主事件循环。主事件循环和非实践循环的区别在于它的输入源(Event source)主要接收来自操作系统的事件。输入源(Event source)是由一个从窗口服务器接收事件的端口和一个存储待处理事件FIFO队列组成。如下图每个应用程序都有一种接收(Window Server)窗口服务器事件的机制。