【发布时间】:2014-08-31 05:53:14
【问题描述】:
我在我的 IOS 应用程序中使用 GCD。我有三个线程:主线程、线程 2 和线程 3。
以下代码在线程2上执行,
dispatch_async(dispatch_get_main_queue(), ^{ code block 1 ...
所以代码块 1 将在主线程上执行。如果在代码块 1 完成运行之前在线程 3 中执行以下代码会发生什么:
dispatch_async(dispatch_get_main_queue(), ^{ code block 2 ...
bock2 会等到 bock1 终止吗?
我怎样才能找到这些问题的答案?我应该阅读 APPLE 的文档还是自己做一些实验?我可以做什么样的实验?
【问题讨论】:
-
文档页面的标题回答了这个问题:“schedule blocks for execution”。
-
总质子反转。
标签: ios objective-c multithreading grand-central-dispatch