今天我们使用GCD来快速实现一下的iOS多线程编程。
此处只做一个简单实现,不讲述原理及相关背景知识。

开始动手。
Step1. 创建一个新工程,并创建新页面。



Step2. 在Click:函数内键入单线程的代码。

Step3. 运行程序,看看单线程的效果。

明显可以感觉到,按下按钮后在执行过程中UI是没有反应的,而且中间执行完第一个任务后,label的文本没有立即变化,只有全部执行完后才变化。
Step4. 换用多线程,采用GCD试试看。



Step5. 试试多线程的效果。

可以看出不仅可以运行时交互多次点击毫无卡顿停滞,而且运行时间短,毕竟并行。
网友评论