子线程启用定时器
来源:互联网 发布:天使与魔鬼 知乎 编辑:程序博客网 时间:2024/06/01 21:59
//用NSObject的方法创建一个多线程 [self performSelectorInBackground:@selector(multiThread) withObject:nil];
- (void)multiThread{ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; if (![NSThread isMainThread]) { // 第1种方式 //此种方式创建的timer已经添加至runloop中// [NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(timerAction) userInfo:nil repeats:YES]; //保持线程为活动状态,才能保证定时器执行// [[NSRunLoop currentRunLoop] run];//已经将nstimer添加到NSRunloop中了 //第2种方式 //此种方式创建的timer没有添加至runloop中 NSTimer *timer = [NSTimer timerWithTimeInterval:1.0f target:self selector:@selector(timerAction) userInfo:nil repeats:YES]; //将定时器添加到runloop中 [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode]; [[NSRunLoop currentRunLoop] run]; NSLog(@"多线程结束"); } [pool release];} - (void)timerAction{ //定时器也是在子线程中执行的 if (![NSThread isMainThread]) { NSLog(@"定时器"); }}
-(void)startThreadButtonPressed{progress.progress = 0.0;showValue.text = @"0.0";startThread.hidden = YES;//该语句会让主线程堵塞2秒,这就是为什么要将耗时操作放在子线程的原因之一//[NSThread sleepForTimeInterval:2];//开启一个新线程[NSThread detachNewThreadSelector:@selector(doJobInBackground) toTarget:self withObject:nil];}//子线程,后台执行工作-(void)doJobInBackground{//睡眠,模拟子线程中耗时操作[NSThread sleepForTimeInterval:2];//通知主线程执行更新操作[self performSelectorOnMainThread:@selector(invalidateProgress) withObject:nil waitUntilDone:NO];}
0 0
- 子线程启用定时器
- 子线程中执行定时器
- android定义子线程与时间定时器
- 延时函数与子线程中的定时器
- swift 定时器的启用
- ios之在子线程中使用定时器
- iOS使用定时器,并添加到子线程运行
- 子线程开启定时器的两种办法
- IOS在子线程中使用定时器,将定时器添加至RunLoop中(转)
- 在子线程中使用定时器,将定时器添加到RunLoop中
- IOS在子线程中使用定时器,将定时器添加至RunLoop中
- IOS在子线程中使用定时器,将定时器添加至RunLoop中
- IOS在子线程中使用定时器,将定时器添加至RunLoop中
- IOS在子线程中使用定时器,将定时器添加至RunLoop中
- 定时器线程
- 定时器线程
- C#定时检查子线程是否执行完成(定时器检查)
- NSThread的简单使用 及performSelectorInBackground:withObjectt和子线程开定时器
- Neutron印象8: OpenStack中的防火墙
- 登录界面保存密码实现
- UBUNTU10.04安装stackless python运行高性能服务器
- 网络爬虫开发技术实现
- 分享下我写评测的经验吧
- 子线程启用定时器
- HDU 1541 Stars
- Xcode:Undefined symbols for architecture i386:和"_OBJC_CLASS_$_xx", referenced from: error
- List单链表封装
- 在C和C++里const的用法异同总结
- ASP.NET MVC 中Ajax.ActionLink的用法
- MTK(3G)手机开发初学者必备资料(MMI)
- [译]Autoprefixer:一个以最好的方式处理浏览器前缀的后处理程序
- Struts1 访问 action 指定的某一个方法