iOS 多线程知识
从Apple官网可以看出,我们的主线程在iOS下是 1MB, 在OS X下是 8MB 。如果我们开辟的新的线程则是 512KB
下面我们就来操作一下这些多线程处理方案
感觉是不是特轻松,带着轻松的感觉我们来看看下一个经典面试题,多线程生命周期
当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态,在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)五种状态。尤其是当线程启动以后,它不能一直“霸占”着CPU独自运行,所以CPU需要在多条线程之间切换,于是线程状态也会多次在运行、阻塞之间切换。 1. 新建和就绪状态
2. 运行和阻塞状态
如果处于就绪状态的线程获得了CPU,开始执行run方法的线程执行体,则该线程处于运行状态。 当发生如下情况下,线程将会进入阻塞状态:
针对上面的几种情况,当发生如下特定的情况将可以解除上面的阻塞,让该线程重新进入就绪状态:
其中有涉及了一个关于线程池的概念
在了解完多线程的东西,我们先来看看NSThread
NSthread 开辟线程的方式
代码注释写的也比较详细,我相信聪明的你,一看就明白,重点我们用NSThread:线程状态演练
NSThread处理关于线程问题也是比较方便,很简单。
这是对上篇文章和这篇多线程的总结,下面文章我会记录演练金典问题:资源抢夺
本文分享自 HelloCode开发者学习平台 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!