小编Sle*_*mon的帖子

“[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distanceFuture]]”有什么作用?

我对 NSRunLoop 有一些问题。当运行如下代码时,主线程似乎停止了,并且在 while 循环之后不会运行代码。我想知道 [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distanceFuture]] 执行时,主线程的运行循环中会发生什么?我们知道UI主线程的runloop在应用程序启动时自动运行,主线程是休眠还是处于死循环?

while (!self.runLoopThreadDidFinishFlag) {
    NSLog(@"Begin RunLoop");

    [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];

    NSLog(@"End RunLoop");
}
Run Code Online (Sandbox Code Playgroud)

multithreading objective-c nsthread nsrunloop

5
推荐指数
1
解决办法
6134
查看次数

标签 统计

multithreading ×1

nsrunloop ×1

nsthread ×1

objective-c ×1