【6】IOS面试题--线程与网络

上传人:xia****ai 文档编号:159639098 上传时间:2022-10-09 格式:DOC 页数:6 大小:142.11KB
收藏 版权申诉 举报 下载
【6】IOS面试题--线程与网络_第1页
第1页 / 共6页
【6】IOS面试题--线程与网络_第2页
第2页 / 共6页
【6】IOS面试题--线程与网络_第3页
第3页 / 共6页
资源描述:

《【6】IOS面试题--线程与网络》由会员分享,可在线阅读,更多相关《【6】IOS面试题--线程与网络(6页珍藏版)》请在装配图网上搜索。

1、1. 线程与进程的区别和联系?进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。2.什么是线程?什么是进程?两者关系线程是一组指令的集合,

2、是程序中一个单一顺序的控制流程。进程是整个程序或者部分程序的动态执行。每个正在系统上运行的程序都是一个进程。每个进程中包含多个线程。进程之间不能共享资源,但是线程之间可以共享资源。3. 实现线程的方式?各自特点是什么?相互间区别是什么?(1)NSThread:轻量级的方式(具有很少的规则和惯例,依赖的东西少),比较底层和原始。需要自己手动管理线程的生命周期,同步的时候需要加锁来控制线程执行顺序,会增加系统开销。不推荐使用。(2)NSOperationQueue:一个NSoperation对象可以通过调用start方法执行任务,默认是同步执行;也可以将NSOperation添加到一个NSOper

3、ationQueue中执行,这时是异步的。通过这个方式开启线程后,可以中途停止、继续、取消等操作。如果想控制线程执行顺序,可以通过添加依赖完成。优点:不需要关心线程管理,数据同步的事情,可以把精力放在自己需要执行的操作上。对于上传、下载这种复杂的操作,推荐使用。(3)GCD:苹果提供的,异步执行。提高了代码执行效率和多核的利用率,性能更好。对于复杂的不推荐使用,但是简单的提交数据推荐使用。4、线程同步和异步分别是什么意思?如何实现线程的同步?线程同步是多个线程同时访问同一资源,等待资源访问结束,浪费时间,效率低。线程异步:访问资源时在空闲等待时同时访问其他资源,实现多线程机制。通过添加线程锁实

4、现线程的同步。单线程不加锁可以,但是多线程的时候,对于公共资源,必须加锁。当线程并发,也就是异步访问,就会出现问题。所以要把异步的变成同步的才行。5、如何实现多线程按顺序执行?在NSOperationQueue,可以通过添加依赖完成线程的顺序执行。6. Object C中创建线程的方法是什么?如果在主线程中执行代码,方法是什么?如果想延时执行代码、方法又是什么?线程创建有三种方法:使用NSThread创建、使用GCD的dispatch、使用子类化的NSOperation,然后将其加入NSOperationQueue;在主线程执行代码,方法是performSelectorOnMainThread

5、,如果想延时执行代码可以用performSelector:onThread:withObject:waitUntilDone:7.What is lazy loading?懒汉模式,只在用到的时候才去初始化。也可以理解成延时加载。我觉得最好也最简单的一个列子就是tableView中图片的加载显示了。一个延时加载,避免内存过高,一个异步加载,避免线程堵塞。8. URI是什么?URL是什么?URL格式?URI: 统一资源标识符 (类似于身份证号,找到唯一的资源)URL: 统一资源定位符 (类似于门牌号,里面资源可以有多个)URL格式: 协议:/域名:端口号/具体地址9. http特点?超文本传输协

6、议,是无状态的协议。请求应答模式。10. get、post区别?get 用于请求少量数据,明文发送。 (新闻、天气等)post 大量数据,密文发送。 (注册、网银等)11. 做过的项目是否涉及网络访问功能,使用什么完成网络功能?网络访问可以通过NSURLConnection实现,主要步骤为:(1)创建一个NSURL对象,设置请求路径(设置请求路径)(2)传入NSURL创建一个NSURLRequest对象,设置请求头和请求体(创建请求对象)(3)使用NSURLConnection发送NSURLRequest(发送请求)第三方类库ASIHTTPRequest也可以实现,但是最常用的方式是通过第三方

7、类库AFNetWorking完成的。12.简单介绍下NSURLConnection类及+sendSynchronousRequest:returningResponse:error: 与initWithRequest:delegate:两个方法的区别?NSURLConnection主要用于网络访问,其中+sendSynchronousRequest:returningResponse:error:是同步访问数据,即当前线程会阻塞,并等待request的返回的response,而initWithRequest:delegate:使用的是异步加载,当其完成网络访问后,会通过delegate回到主线程,并其委托的对象。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!