gcd
//创建一个队列
dispatch_queue_t queue = dispatch_get_global_queue("test",0);
//创建一个异步线程
dispatch_async(quene,^{
---异步线程执行代码
});
//回到主线程
dispatch_sync(dispatch_get_main_queue(),^{
----回到主线程执行的代码
});
//创建新的子线程需要添加制动释放池管理内存
[sele performSelectorInBackground:@selector(mutableThread) withObject:nil];
-(void)mutableThread{
//自动释放池
NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];
--------
[pool release];
}
//多线程中运用 NStimer(定时器);需要用到NSRunLoop
[self performSelectorInBackground:@selector(mutiThread) withobject:nil];
-(void)mutiThread{
//自动释放池
NSAutoreleasePool* pool=[[NSAutoreleasePool alloc] init];
[NSTimer scheduledTimerInterval:1 target:self selector:@selecter(timerAcrtion) userInfo:nil repeats:yes];
[pool release];
[[NSRunLoop currentRunLoop] run];
}
-(void) timerAction{
-----
}
//-----------另一种NSRunLoop 中加入 NSTimer
NSTimer *timer=[NSTimer timerWithTimeInterval:1 target:self selector:@selecter(timerAcrtion) userInfo:nil repeats:yes];
[NSRunLoop currentRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode];
[[NSRunLoop currentRunLoop] run];