iOS中NSThread子线程需要建立NSAutoreleasePool
来源:互联网 发布:盘古越狱软件闪退 编辑:程序博客网 时间:2024/06/05 18:40
今天做iOS开发时碰到一个问题:在主线程打开一个大约400多K的文件读取数据时,界面明显有停顿感,于是尝试用NSThread建立子线程来负责读取文件数据。却发现子线程的运行速度奇慢无比,刚开始以为是线程优先级的问题,但是调用setThreadPriority设置1.0的优先级还是没有什么改善。后来想到在main函数中会建立一个NSAutoreleasePool对象,于是在子线程入口也建立一个自动释放池,读取数据的速度就正常了。
我想问题的原因是:由于在子线程中会用到autorelease,也就是会用到NSAutoreleasePool对象,可是子线程没有自己私有的自动释放池对象,就可能会查找主线程中是否有释放池,并使用主线程的释放池来做自动释放操作。这样势必会产生线程同步的操作,导致线程的运行效率变慢。
- iOS中NSThread子线程需要建立NSAutoreleasePool
- iOS中NSThread线程
- ios之NSThread开辟子线程方法
- iOS 之多线程 NSThread
- iOS NSThread线程
- IOS 多线程 线程NSThread
- IOS 多线程 线程NSThread
- IOS线程 NSThread
- iOS线程其一NSThread
- iOS线程之NSThread
- 用NSThread创建子线程
- IOS NSAutoreleasePool
- 深入浅出 iOS 之多线程 NSThread
- 深入浅出 iOS 之多线程 NSThread
- 深入浅出 iOS 之多线程 NSThread
- 深入浅出 iOS 之多线程 NSThread
- 深入浅出 iOS 之多线程 NSThread
- 深入浅出 iOS 之多线程 NSThread
- HBase 增量备份和还原工具
- hdu 1251 字典树的简单应用
- oracle:查询用户权限常用语句
- 线程同步和线程安全
- win7主题&文件夹背景破解
- iOS中NSThread子线程需要建立NSAutoreleasePool
- SQL截取字符串
- android HttpURLConnection编程详解,获取网络图片,html代码查看
- 第10章——对象和类
- VS2005断点失效的问题
- 找注册表编辑器
- 关于navicat连接oracle 报 ORA-12737 set CHS16GBK错误的解决方案
- Windows Socket五种I/O模型——代码全攻略
- xmanager 3.0 注册码