iPhone多线程编程初体验.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:2 大小:28KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

iPhone多线程编程初体验.doc

iPhone多线程编程初体验.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

iPhone多线程编程初体验多线程编程是防止主线程堵塞,增加运行效率等等的最佳方法。而原始的多线程方法存在很多的毛病,包括线程锁死等,更多iOS开发技术知识,请登陆疯狂软件教育官网。AD:找了很长时间IPhone下多线程的编程的内容,用到的类是UIKit的中NSThread.。在google过程中,发现很多文都惊喜地标题着类似<多线程的OS4来了>,这些想正向引导一下,0S4的亮点在于多任务,一个任务为一个进程,也叫多进程,而多线程在早期的IPHONEOS上都是有的.IPHONEOS中任务的概念是一个应用,在一个时间你只能做一件事情,即不能同时玩游戏,同时上QQ.而多任务的时候是可以这么做的.流程大概如下:1.创建一个线程[NSThreaddetachNewThreadSelect:@selector(BeginThread)toTarget:selftwithObject:nil];2.线程里做两件,一件是后台处理耗时间的活(dosomethinglongtime),另一件是更新UI(UpdateUI)viewplaincopytoclipboardprint?(void)BeginThread{[selfperformSelectorInBackgroud:@selector(dosomethinglongtime)withObject:nil];[selfperfomSelectorOnMainThread:@selector(UpdateUI)withObject:nilwatUntilDone:NO];}3.那UpdateUI的数据怎么来呢viewplaincopytoclipboardprint?-(void)dosomethinglongtime{//修改共享变量varProgress,varText等等}{void)UpdateUI{//获得共享变量varProgress,varText等等,显示在界面上}这样就完成了一个大概的流程,但是UpdateUI里不能用while(1),不然主线程会堵在UpdateUI的函数里,怎么办呢?Google了一个方法,UpdateUI的方法做了一下修改这样的意思,如果没线程没结束,过0.2秒再回到这个函数更新界面,如此循环,直到结束.viewplaincopytoclipboardprint?(void)UpdateUI{//获得共享变量varProgress,varText等等,显示在界面上if(!finished)[NSTimerscheduledTimerWithTimeInterval:0.2target:selfselector:@selector(UpdateUI)userInfo:nilrepeats:NO];}以上IPhone多线程编程的一种方法。学iPhone开发就选疯狂软件,疯狂软件教育拥有最专业的疯狂iOS学习线路图,不仅证明疯狂软件iOS无与伦比的课程深度,也证明了疯狂软件iOS深厚的技术底蕴;同时也指引了iOS学习者的自学方向。iOS培训采用全新的iMac苹果一体机教学,疯狂软件教育重点培养学员理解软件开发过程,形成良好的编码习惯,能独立完成iPhone手机和iPad平板电脑上App开发,积累一定的项目经验,能满足企业对iOS相关的人才需求,短期内成就高薪iOS开发人才。