Roh*_*mar 0 grand-central-dispatch swift
class ViewController: UIViewController {
override func viewDidLoad() {
// Do any additional setup after loading the view.
DispatchQueue.main.sync { //this line crashes with Thread 1 : EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
print("Rohit Kumar")
}
}
}
Run Code Online (Sandbox Code Playgroud)
在 viewDidLoad 中使用同步方法崩溃,但它适用于异步,我不知道这背后的原因,任何人都可以帮助我。
我知道同步和异步之间的区别。
当您sync
在主线程中使用时,应用程序崩溃,默认情况下代码在主线程中运行,因此当您调度代码时,通常在另一个队列中而不是主线程本身,这会导致队列停止并等待直到内部的块{}
完成并且因为它的状态是停止/等待然后块内的代码不会运行因此死锁
归档时间: |
|
查看次数: |
109 次 |
最近记录: |