多线程基础(三)NSThread基础
2023-09-11 14:21:34 时间
3、多线程基础
NSThread的基本使用
如何使用NSThread创建新线程
![](https://images2015.cnblogs.com/blog/784420/201512/784420-20151221231016968-1619306948.png)
创建线程之后是默认不执行的状态
创建三个线程:
![](https://images2015.cnblogs.com/blog/784420/201512/784420-20151221231204999-2046112376.png)
![](https://images2015.cnblogs.com/blog/784420/201512/784420-20151221231247359-1948315395.png)
通过name属性区别这些线程
![](https://images2015.cnblogs.com/blog/784420/201512/784420-20151221231258468-1906481977.png)
接下来就是通过设置线程的优先级来设置线程的被使用频率的高低 不设置默认是0.5
![](https://images2015.cnblogs.com/blog/784420/201512/784420-20151221231324281-243871746.png)
第二种使用NSThread创建线程,分离出一条线程
![](https://images2015.cnblogs.com/blog/784420/201512/784420-20151221231421890-1683228229.png)
没有返回值,就没有办法拿到这个线程对象,就没办法设置相关的属性
第三种方法:开启一条后台线程
![](https://images2015.cnblogs.com/blog/784420/201512/784420-20151221231451202-253511978.png)
优点:不需要手动开启,就是start
总结一下:
![](https://images2015.cnblogs.com/blog/784420/201512/784420-20151221231516640-8087949.png)
自定义线程:
![](https://images2015.cnblogs.com/blog/784420/201512/784420-20151221231529359-1756615019.png)
重写dealloc方法,然后在dealloc方法中写打印方法,可以用来验证:当任务执行完毕之后,线程对象会被销毁。
如果要想让线程不销毁,只要有个strong指针指向它,但是即使它没有被销毁,任务执行完毕之后已经无法再执行新的任务了。
![](https://images2015.cnblogs.com/blog/784420/201512/784420-20151221231548077-1042985405.png)
会报错奔溃,尝试重新启动这个线程
相关文章
- JAVA多线程和并发基础面试问答
- 多线程入门
- winform 多线程中ShowDialog()步骤无效的解决办法
- 基础知识《五》---Java多线程的常见陷阱
- java基础多线程之共享数据
- 多线程下载
- Java多线程和并发基础面试问答
- C++多线程基础入门
- Python中的多线程是什么?如何实现?(附零基础学习资料)
- Python采集二手房源数据信息 基础版, 多线程版
- c++ socket 多线程 网络聊天室
- linux下socket服务端简单例,多线程,超时退出,长时间没数据就退出,让客户端有需要再重新发起连接
- linux 多线程基础4
- 011-多线程-基础-基于AbstractQueuedSynchronizer自定义同步组件
- 009-多线程-基础-AbstractQueuedSynchronizer-用于构建锁和同步容器的框架、独占锁与共享锁的获取与释放
- 007-多线程-基础-ThreadLocal原理分析-线程变量副本
- 003-多线程-基础-其他【命名和取得、休眠、优先级、线程状态、线程中断、最大线程数量、Thread与Jvm虚拟机栈】
- iOS开发中多线程基础
- python的多线程到底有没有用?
- QT多线程同步之QWaitcondition