在iOS开发中,实现多线程的技术主要有四种,分别是pthread、NSThread、GCD和NSOperation。它们的技术特点如下表所示:
在iOS中,一个应用程序运行后,默认会开启一条线程,我们称为“主线程”或“UI线程”。其作用主要是用来显示或者刷新UI界面、处理UI事件(比如说滚动、点击和拖拽等)。通常情况下,不能将耗时操作放在主线程当中,否则会引起应用卡顿,造成不好的用户体验。
下面我们就来演示一下,如果将耗时操作放在主线程当中执行会发生什么状况。新建一个工程,往Main.storyboard文件中的控制器里拖入一个按钮,再拖入一个UIDatePicker控件,然后运行程序,先看一下正常情况下,程序运行的结果是怎样的: