使用Swift 2并发控制进行iOS开发 使用Swift 2访问Web服务进行iOS开发 并发是一种同时执行多个操作的方法。在应用程序中,并发是指同时/同时运行的多个任务。 并发可以使您的应用程序更快,更清洁,并为用户提供更好的体验。对于许多开发人员来说,多线程的使用似乎很难,但是像 NSOperation 和 Dispatch Queues 这样的API 可以很容易地在应用程序中使用并发和多线程。 Grand Central Dispatch GCD是最常用的API,用于在系统级异步管理并发代码和执行操作。GCD提供并使用任务队列。这些队列是使用FIFO术语的数据结构,即首先执行队列中第一个位置的任务,最后执行队列最后一个任务。 例如 - 假设一张电影票预订专线,如果你是最后一个人,你将获得最后一张票,如果有人跟你一起,他会在你之后得到一张票。 调度队列 调度队列是在应用程序中异步和并发执行任务的简便方法。有两种类型的队列 - 串行队列 - 它们以串行方式存储任务并一次执行一个任务。 并发队列 - 它们以一系列方式存储任务并一次执行一个任务。 用于创建或获取队列的一些函数是 dispatch_queue_create // create a serial or concurrent queue dispatch_queue_get_label // get the label of a given queue dispatch_get_main_queue // get the one and only main queue dispatch_get_global_queue // get one of the global concurrent queues 将任务添加到队列 有两种类型的函数,它们有助于向队列添加任务。他们是 - 同步功能 - dispatch_once - 仅在应用程序生命周期结束后才会提交任务。 dispatch_sync - 将任务提交到队列,并仅在任务完成时返回。 异步函数 - Dispatch_async - 将提交任务并返回。 Dispatch_after - 立即返回但延迟特定时间。 Dispatch_async - 立即返回,但任务已多次提交。 示例代码 以下是将任务添加到队列的示例代码。 dispatch_async(dispatch_get_main_queue(), update_block); // add update_block to main queue dispatch_apply(i, some_queue, work_block) // add work_block to some_queue i times dispatch_sync(background_queue, blocking_block) // add blocking block to background queue and wait for completion 使用队列的一般示例 以下代码是使用队列的示例。 dispatch_async(background_queue, ^ { // Perform code that takes long time, here. Dispatch_async(dispatch_get_main_queue(), ^ { //Some other task, generally UI. }); }); 这就是我们对并发控制所做的全部工作,因为在您成为中级iOS开发人员之前,这是足够的信息。 继续练习您学到的概念,并尝试根据您的要求进行修改和整合。 使用Swift 2访问Web服务进行iOS开发