为什么RunLoop不会阻止整个线程执行?

时间:2019-08-12 21:38:30

标签: objective-c runloop

如果每个UIApplication在主线程上初始化这样的RunLoop

void CFRunLoopRun(void) {   /* DOES CALLOUT */
    int32_t result;
    do {
        result = CFRunLoopRunSpecific(CFRunLoopGetCurrent(), kCFRunLoopDefaultMode, 1.0e10, false);
        CHECK_FOR_FORK();
    } while (kCFRunLoopRunStopped != result && kCFRunLoopRunFinished != result);
}

为什么它是无限循环,所以为什么不阻止整个执行?没有上下文切换,无限循环和主线程上的代码如何在单个线程上一起工作?

1 个答案:

答案 0 :(得分:2)

它确实阻止了当前线程。但是,npm i react-scripts@latest的部分工作是在该线程上调用您的代码。返回时,它返回到#example data below: import pandas as pd data = {'Name':['Mark','Matt','Michael'], 'Name_Age':['Mark 14','Matt 29','Michael 18']} df = pd.DataFrame(data) ,然后调用其他代码。