Ios 为什么这个线程不';不执行最后一行代码

Ios 为什么这个线程不';不执行最后一行代码,ios,nsrunloop,Ios,Nsrunloop,我创建了一个线程。我发现这个线程不执行最后一行代码 let thread = Thread { RunLoop.current.add(NSMachPort(), forMode: RunLoopMode.commonModes) let runloop = CFRunLoopGetCurrent() print("A") CFRunLoopRun() print("B") } 然后我调用这个线程“thread.start()”。但是它只能打印“A”。C

我创建了一个线程。我发现这个线程不执行最后一行代码

let thread = Thread {
    RunLoop.current.add(NSMachPort(), forMode: RunLoopMode.commonModes)
    let runloop = CFRunLoopGetCurrent()
    print("A")
    CFRunLoopRun()
    print("B")
}
然后我调用这个线程“thread.start()”。但是它只能打印“A”。

CFRunLoop()
是一个无限期运行的函数,直到停止为止。 这意味着上述代码基本上是:

print("A")
while true {
  // execute run loop 
}
print("B")
在停止运行循环之前,无法调用最后一行