@wg刚 你好想问一下,
这个block是在主队列的一个同步任务,同步任务它会阻塞主线程继续执行NSLog(@"3333");直到NSLog(@"2222");执行完才可以;
这句话我好理解,block是个同步任务,不会开辟新线程去执行,因此NSLog(@"2222");也会在主线程中执行,执行期间主线程也卡住,只有等它执行完才会执行NSLog(@"3333");
但是下面那句话我一直理解不了:
但是呢,想要执行NSLog(@"2222");,又必须执行完主线程中的代码才可以。
能不能帮忙再说的详细点们谢谢啦
关于向主线程添加同步任务造成死锁的思考有这样一个例子,即在主线程开启同步任务死锁的例子: 关于这个例子如何会死锁,网上也有很详细的解释。不过可能对于某些基础不是很扎实的同学来说,有些地方不太容易理解。这里,我说一...