既然谈到多线程,就要提到主线程和子线程的概念,那么首先抛出两个注意点,可以在实践中得到证明。
不能把耗时的操作放到主线程
原因:主线程中如果出现耗时代码,界面将会阻塞。
不能把修改页面的代码放在子线程
原因:子线程修改页面可能会导致界面刷新不及时,如果在子线程里面必须修改页面,则需要从子线程返回到主线程后再去修改。
IOS中的耗时操作包括
1、大量计算
2、加载文件
3、网络相关
4、睡眠
[NSThread sleepForTimeInterval:<#(NSTimeInterval)#>];
这行代码就是所谓耗时的睡眠代码,它起到的作用就是间隔一段时间执行接下来的指令。
[NSThread detachNewThreadSelector:<#(SEL)#> toTarget:<#(id)#> withObject:<#(id)#>];
这就是开启一条子线程,一般来说开启子线程是用来进行耗时的操作,这样就可以与其他响应时间并行执行而不需要等待了。
以上介绍的就是多线程最基本的道理和用法,另外尝试了一下在博文中按照规定方式显示代码内容,提交来看看是不是理想的效果。