在Apple 的实现中CFRunloop
,在函数中__CFRunLoopRun
他们定义了一个名为的本地变量pool
:
Boolean poll = sourceHandledThisLoop || (0ULL == timeout_context->termTSR);
然后他们像这样使用这个值:
if (!poll && (rlm->_observerMask & kCFRunLoopBeforeWaiting))
__CFRunLoopDoObservers(rl, rlm, kCFRunLoopBeforeWaiting);
if (!poll && (rlm->_observerMask & kCFRunLoopAfterWaiting))
__CFRunLoopDoObservers(rl, rlm, kCFRunLoopAfterWaiting);
在这种情况下是什么poll
意思?为什么poll
在runloop流程中是一个特例?