1、iOS线程是为了界面流程,防止页面假死。比如解析一个大文件,比如一个地区的详情文件,解析时间比如是10秒,那么不用线程的话,界面就会假死、卡顿10秒左右。用户体验差,那么解决方法就是很快吧界面暂时启动线程去后台解析;
2、再比如做图片滤镜,图像操作会耗费很多时间,比如5秒左右,界面就会假死;
3、网络下载数据,用于网络状态好坏时间不确定,那么我们需要使用线程来处理这种不确定的关系,一定数据接收完成,那么就可以通知主线程处理;
4、再比如读取数据全国电话号码数据库,时间很长,那么就需要通过线程来做;
5、特别强调的是,线程不是快,就是为了给用户一个快的假象。