- 浏览: 569689 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
JYY282:
[i][/i]
Ecshop与Shopex的比较 -
qq247890212:
我也遇见这问题了,真诡异。重新下载个猫换了就好了。 太浪费时间 ...
诡异:ClassNotFoundException: org.springframework.web.filter.CharacterEncoding
From: http://mobile.51cto.com/iphone-267455.htm
找了很长时间IPhone下多线程的编程的内容, 用到的类是UIKit的中NSThread.。
在google过程中,发现很多文都惊喜地标题着类似< 多线程的iOS4来了>, 这些想正向引导一下, iOS4的亮点在于多任务,一个任务为一个进程,也叫多进程, 而多线程在早期的IPHONEOS上都是有的.
IPHONE OS中任务的概念是一个应用, 在一个时间你只能做一件事情, 即不能同时玩游戏,同时上QQ. 而多任务的时候是可以这么做的.
流程大概如下:
1. 创建一个线程
- [NSThread detachNewThreadSelect:@selector(BeginThread)
- toTarget:selft
- withObject:nil];
2.线程里做两件,一件是后台处理耗时间的活(dosomethinglongtime),另一件是更新UI(UpdateUI)
- view plaincopy to clipboardprint?
- (void) BeginThread{
- [self performSelectorInBackgroud:@selector(dosomethinglongtime)
- withObject:nil];
- [self perfomSelectorOnMainThread:@selector(UpdateUI)
- withObject:nil
- watUntilDone:NO];
- }
3. 那UpdateUI的数据怎么来呢
- view plaincopy to clipboardprint?
- -(void)dosomethinglongtime{
- // 修改共享变量 varProgress, varText等等
- }
- {void)UpdateUI{
- // 获得共享变量 varProgress, varText等等, 显示在界面上
- }
这样就完成了一个大概的流程,但是UpdateUI里不能用while(1),不然主线程会堵在UpdateUI的函数里,怎么办呢? Google了一个方法, UpdateUI的方法做了一下修改
这样的意思, 如果没线程没结束,过0.2秒再回到这个函数更新界面, 如此循环, 直到结束.
- view plaincopy to clipboardprint?
- (void)UpdateUI{
- // 获得共享变量 varProgress, varText等等, 显示在界面上
- if(!finished)
- [NSTimer scheduledTimerWithTimeInterval:0.2 target:self
- selector:@selector(UpdateUI) userInfo:nil repeats:NO];
- }
以上IPhone多线程编程的一种方法, 当然还有人提议用NSOperation和NSOperationQueue,但我试了一把,没把效果试出来, 等有结果再回来更新. 嘿嘿.
发表评论
-
Objective-C 与 C++ 的异同
2013-04-02 12:03 1358http://www.cnblogs.com/y041039 ... -
Cocos2D-X是全球知名的开源跨平台手机游戏引擎
2013-01-22 10:05 2710http://www.oschina.net/p/cocos ... -
iOS Keyboard 键盘高度变化 自适应
2013-01-15 15:43 3219[[NSNotificationCenter default ... -
iOS使用自定义字体
2012-11-27 12:11 12075From: http://blog.csdn.net/csy1 ... -
4 款类似 Facebook/Path 切换效果的 iOS 组件
2012-11-27 12:03 2090From: http://blog.csdn.net/lia ... -
Path 2.0的UI界面设计详细介绍
2012-11-27 11:56 1426如Path的创始人Dave Morin ... -
史上最全的App Store邮箱列表
2012-11-27 11:51 1219From: http://roybaby.blog.51cto ... -
iOS从info.plist 获取项目的名称及版本号
2012-11-16 10:54 1575From: http://blog.sina.com.cn/s ... -
MapKit annotation drag and drop with callout info update
2012-10-13 10:38 2362http://hollowout.blogspot ... -
NSArray 或NSDictionary 调用writeToFile方法失败原因
2012-08-31 10:03 4421NSArray 或NSDictionary 调用writeTo ... -
如何让IOS应用从容地崩溃
2012-08-30 15:25 1570From: http://www.cocoachina.com ... -
iOS中判断设备系统版本
2012-08-29 17:17 31668在iOS开发中,经常要考虑系统的向下兼容,如果使用 ... -
iOS 汉字转拼音
2012-08-21 16:42 1423From: http://www.cnblogs.com/v2 ... -
iOS模拟器截图工具
2012-08-17 16:35 1583From: http://magicalboy.com/ios ... -
XCode下的iOS单元测试
2012-08-10 17:47 1120From: http://mobile.51cto.com/ ... -
AFNetworking
2012-08-08 10:54 4620AFNetworking on github: https:/ ... -
Wrapping Conventions
2012-08-01 15:54 779Wrapping Conventions ... -
Core Animation如何使显式动画结束时的值直接作用Layer
2012-08-01 14:51 3746(1)使用隐式动画会直接改变layer的属性值,如: ima ... -
How To Debug Memory Leaks with XCode and Instruments Tutoria
2012-07-31 16:30 1018From: http://www.raywenderlich. ... -
Using Properties in Objective-C Tutorial
2012-07-31 16:27 878From: http://www.raywenderlich. ...
相关推荐
iphone多线程编程,值得一看的好书,iphone开发初学者必看。
线程是单个应用中可以并发执行多个代码路径的多种技术之一。虽然更新的技术如操作对象(Operation objects)和Grand Central Dispatch(GCD),提供一个更加现代化和高效率的基础设施来实现多核并发,但是Mac OS X和...
非常详细、经典的ios平台多线程知识详细的文档(其它平台的开发者也可以参考)。 两个中英文的高质量的pdf文件,也可做为英文学习用。
iphone开发之多线程NSThread和NSInvocationOperation 的 使用
iPhone 多线程 CoreData使用 源代码 如何创建多线程,以及如何在多线程中使用CoreData
iPhone应用程序编程指南-中文版 pdf iPhone应用程序编程指南-中文版 pdf iPhone应用程序编程指南-中文版 pdf
iPhone 多线程 多线程在各种编程语言中都是难点,很多语言中实现起来很麻烦,objective-c...这篇文章主要从线程创建与启动、线程的同步与锁、线程的交互、线程池等等四个方面简单的讲解一下iphone中的多线程编程。
iPhone应用程序编程指南iPhone应用程序编程指南iPhone应用程序编程指南
iPhone SDK编程入门经典,让您轻松入门学习IOS的开发
30天精通iPhone手机编程+实例iPhone SDK编程入门教程.rar
iPhone应用程序编程指南(中文版)iPhone应用程序编程指南(中文版)iPhone应用程序编程指南(中文版)iPhone应用程序编程指南(中文版)iPhone应用程序编程指南(中文版)
iPhone应用程序编程指南(中文) 来自苹果开发者中心参考库
比较详细的讲解了ios下多线程开发的技术,很实用。
多线程下载器的小例子,希望对大家有用,有需要改进的地方请指出
iPhone游戏编程实例
支持多线程下载 对下载下来的MP3进行歌曲列表分类 把歌曲分类列表保存SQLIST数据库里 在分类列表里进行MP3播放
一个很不错的IOS多线程的例子,代码简单明了!
在iphone下多线程的开发,能够让你熟悉在iphne下如何开发多个线程之间的相互通信。
《iPhone应用程序编程指南》中文版,快速上手开发iphone应用。