- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我刚刚开始在 iOS 上工作,并且一直在浏览 GCD 上的 Apple 引用资料。 dispatch_get_global _queue
返回一个并发队列,可以向其中提交要执行的 block 。
但是,我们也可以使用 dispatch_get_main_queue
实现同样的效果,对吧?那么,dispatch_get_global_queue
和dispatch_get_main_queue
到底有什么区别呢?
最佳答案
全局队列是一个后台队列,在非主线程上执行它的 block 。主队列在主线程上执行它的 block 。
您应该将不涉及更改用户界面的后台工作放在全局队列中,但是当 block 对用户界面进行更改时使用主队列。例如,一种非常常见的模式是在全局队列上执行“工作” block ,然后让工作 block 自身分派(dispatch)回主队列以更新进度指示器。
关于ios - dispatch_get_main_queue 和 dispatch_get_global_queue 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17351810/
我有一个启用了分页的 UIScrollView,我想显示一些带有图像的“页面”。 我在主线程中加载第一页的图像并显示它。然后我开始在后台线程中加载其他页面图像 dispatch_async(l
我是 iOS 开发新手。我不知道 dispatch_get_main_queue() 所以我想从我的服务器图像 url 中获取图像大小,如 首先,我解析我的 JSON 数据并获取图像大小,如下所示 [
我使用 Reachability 和 dispatch_async(dispatch_get_main_queue() 测试互联网连接当我测试以下代码时,它可以正常工作,但会被多次调用。 家长: @p
我在 iOS 中学到了一条全局规则 -> 永远不要阻塞主线程。但是,有几次我遇到了违反此规则的开源代码片段。 下面是两个这样的例子: 以下函数取自 https://github.com/piwik/p
在完成例程中 [NSURLConnection sendAsynchronousRequest:request queue:que
我有一个 ViewController,点击按钮后我想从网络获取数据。 let myClass = Class() myClass.myMethod() { dispatch_
我有这段代码,有时变量 dConfiguration 是 Nil,我得到一个 EXC_BAD_ACCESS 错误,大多数时候变量说 0 键/值对,错误几乎不可能重现,我只需点击我的按钮大部分时间都能正
Utility.managedObjectContext().performBlockAndWait({ }) dispatch_sync(dispatch_get_main_queue(), { }
我有一些如下代码: - (void)viewDidLoad { [super viewDidLoad]; NSLog(@"1"); dispatch_async(dispatc
如何使用 DispatchQueue 类为 iOS 替换以下 Swift 代码?这是旧的 Swift 3 代码,最新的 Xcode 不会将其转换为 Swift 5。 dispatch_async(di
我有在某些情况下更改 UI 的方法。 例如: -(void) myMethod { if(someExpressionIsTrue) { // make some UI changes
关于this question我想知道关于何时使用 NSNotification(在主线程中有观察者)与使用 GCD 将工作从后台线程分派(dispatch)到主线程,是否有任何普遍接受的逻辑? 似乎
我的应用程序中有一个场景,我想在一个方法中执行一些耗时的任务,其中包括一些数据处理以及 UI 更新。我的方法是这样的, - (void)doCalculationsAndUpdateUIs {
当基本 SDK 设置为 10.9 时,我在 SWIFT 中使用“dispatch_get_main_queue()”时遇到困难。我使用的代码是一个简单的dispatch_async调用,如下所示: d
我想将所有读/写数据库操作放到后台队列中,并在完成时更新当前的 UI View 。 如果用户在我处理数据库时停留在 View 中,则没有问题。但是,如果用户在数据库操作完成之前离开该 View ,它将
我正在尝试在后台进程中创建多个 WKWebView View ,然后在它们全部完成加载后将它们添加到主线程上的 View 。 每个 WKWebView 都包含一个通过 javascript 呈现的图表
我继承了一个使用以下线程结构的代码库: dispatch_async(dispatch_get_main_queue(), { () -> Void in dispatch_async(dis
在 tutorial from Ray Wenderlich Series, 之一中他在完成 block 中使用了 dispatch_get_main_queue() 如下 func startFil
我刚刚开始在 iOS 上工作,并且一直在浏览 GCD 上的 Apple 引用资料。 dispatch_get_global _queue 返回一个并发队列,可以向其中提交要执行的 block 。 但是
我继承了一些具有这种相当不寻常的嵌套序列的代码。通常的范例将对主队列进行一次分派(dispatch)以更新 UI。下面显示的代码将对主队列的调度嵌套在对主队列的另一个调度中。 - (void)view
我是一名优秀的程序员,十分优秀!