今天我们使用GCD来快速实现一下的iOS多线程编程。
此处只做一个简单实现,不讲述原理及相关背景知识。
![](https://img.haomeiwen.com/i807748/cffb32fb4a671253.gif)
开始动手。
Step1. 创建一个新工程,并创建新页面。
![](https://img.haomeiwen.com/i807748/17f52267b6062932.png)
![](https://img.haomeiwen.com/i807748/e397e677fe1ff2e7.png)
![](https://img.haomeiwen.com/i807748/1c906585b187b514.png)
Step2. 在Click:函数内键入单线程的代码。
![](https://img.haomeiwen.com/i807748/21fd87b6443cb0a8.png)
Step3. 运行程序,看看单线程的效果。
![](https://img.haomeiwen.com/i807748/9aed4c5fc4429d53.gif)
明显可以感觉到,按下按钮后在执行过程中UI是没有反应的,而且中间执行完第一个任务后,label的文本没有立即变化,只有全部执行完后才变化。
Step4. 换用多线程,采用GCD试试看。
![](https://img.haomeiwen.com/i807748/84069bc52b279ff7.png)
![](https://img.haomeiwen.com/i807748/68031ccbc7b0bf01.png)
![](https://img.haomeiwen.com/i807748/29cd7fedf7444eb5.png)
Step5. 试试多线程的效果。
![](https://img.haomeiwen.com/i807748/7e6e176cf7a5b47d.gif)
可以看出不仅可以运行时交互多次点击毫无卡顿停滞,而且运行时间短,毕竟并行。
网友评论