iOS面试题
来源:互联网 发布:淘宝网苹果电脑版下载 编辑:程序博客网 时间:2024/05/16 13:44
http://www.cocoachina.com/bbs/read.php?tid-302464-fpage-9.html
摘自:http://lizhuang.iteye.com/blog/2001272
http://blog.csdn.net/xunyn/article/details/17251453
下面关于线程管理错误的是()
- GCD在后端管理着一个线程池
- NSOperationQueue是对NSthread的更高层的封装
- NSThread需要自己管理线程的生命周期
- GCD可以根据不同优先级分配线
B是错的,SOperationQueue是对GCD的更高层的封装
C是对的。
// 初始化线程
NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(run) object:nil];
// 设置线程的优先级(0.0 - 1.0,1.0最高级)
thread.threadPriority = 1;
// 开启线程
[thread start];
如果使用系统预设的queue,可以设置DISPATCH_QUEUE_PRIORITY,达到不同的优先级。
C是对的。
// 初始化线程
NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(run) object:nil];
// 设置线程的优先级(0.0 - 1.0,1.0最高级)
thread.threadPriority = 1;
// 开启线程
[thread start];
如果使用系统预设的queue,可以设置DISPATCH_QUEUE_PRIORITY,达到不同的优先级。
小明写了一个基于TCP协议的IOS聊天工具,随着用户数的增多,聊天过程中是不是出现卡顿,程序失去响应的问题,请帮忙分析小明的程序可能出现了什么问题? 如果你是小明的话,如何设计程序结构,保证网络的延迟问题不会影响用户UI操作。
原因分析:TCP协议是基于链接的,虽然能保证数据的准确性,但对资源要求较多。出现卡顿可能是由于资源消耗较多造成。
小明在程序内部没有使用异步线程,导致阻塞主线程
解决办法:开启异步线程进行网络请求(或者使用UDP协议)
采用的协议TCP会在会话传输时,等待数据报,建议采用UDP协议。
程序采用多线程,服务器模型选择非阻塞的select,epoll。
0 0
- iOS技术面试题
- ios面试题
- IOS面试题
- ios基础面试题
- IOS 面试题
- iOS开发面试题
- iOS 面试题二
- iOS面试题
- IOS 面试题
- ios 面试题
- IOS面试题详解
- ios面试题
- iOS面试题汇总
- ios基础面试题
- IOS面试题归总
- IOS面试题详解
- IOS面试题详解
- ios面试题
- 文本分类器测试
- [php] Thinkphp分页配置及分页样式
- 点、圆的关系
- .Net调用Office Com组件的原理及问题
- JSP 解决illegal to have multiple occurrences of contentType with different values错误
- iOS面试题
- linux fork()函数使用说明
- Android SDK Manager 更新代理配置
- java创建使用SQLite数据库
- 带游标的相互调用的存储过程
- Spring定时任务的几种实现
- c#自定义类型的转换方式operator,以及implicit(隐式)和explicit (显示)声明的区别
- Java 获取和判断文件头信息
- 时间日期类