关于线程的问题
来源:互联网 发布:开淘宝店怎么找货源 编辑:程序博客网 时间:2024/06/09 18:59
1、线程是什么?进程是什么?二者有什么区别和联系?
一个程序至少有一个进程,一个进程至少有一个线程:
进程:一个程序的一次运行,在执行过程中拥有独立的内存单元,而多个线程共享一块内存
线程:线程是指进程内的一个执行单元。
联系:线程是进程的基本组成单位
区别:(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位
(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行
(3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源.
(4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。
举例说明:操作系统有多个软件在运行(QQ、office、音乐等),这些都是一个个进程,而每个进程里又有好多线程(比如QQ,你可以同时聊天,发送文件等)
2谈谈你对多线程开发的理解?ios中有几种实现多线程的方法?
好处:
1.使用线程可以把占据时间长的程序中的任务放到后台去处理
2.用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度
3.程序的运行效率可能提高
4·在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。
缺点:
1.如果有大量的线程,会影响性能,因为操作系统需要在它们之间切换。
2.更多的线程需要更多的内存空间。
3.线程的中止需要考虑其对程序运行的影响。
4.通常块模型数据是在多个线程间共享的,需要防止线程死锁情况的发生。
实现多线程的方法:
1. NSObject类方法
2. NSThread
3. NSOperation
4. GCD
- 关于线程的问题
- 关于线程的问题
- 关于线程的问题
- 关于线程的问题
- 关于线程的终止问题
- 关于线程的停止问题
- 关于线程创建的问题
- 关于线程池的问题
- 关于Android的线程问题
- 关于线程死锁的问题
- 关于线程的一些问题
- 关于Java线程的问题
- 关于线程退出的问题
- java关于线程的问题
- 关于线程并发的问题
- 关于线程阻塞的问题
- 关于线程中断的问题
- 关于线程问题的总结
- Android Wifi的工作流程
- 112 系统自带二维码扫描
- Java多线程实现二维数组相乘
- 杭电acm2108
- oxcdcdcdcd是什么?
- 关于线程的问题
- 【测评】国外AR平台ENTITI测评-网页编辑器(1)
- 树结构练习——排序二叉树的中序遍历
- URL重写:RewriteCond指令与RewriteRule 指令格式
- Unreal Engine 4 蓝图脚本学习 自定义材质与actor脚本绑定响应碰撞(1)
- 树结构练习——判断给定森林中有多少棵树
- 一个简单的Sharder程序
- 关于内存管理
- 正则中需要转义的特殊字符小结