1 队列开启多线程的方法
NSOperationQueue * queue=[[NSOperationQueue alloc]init];
1> 采用NSInvocation的子类NSInvocationOperation开启多线程
NSInvocationOperation * nvo=[[NSInvocationOperation alloc]initWithTarget:self selector:@selector(show) object:nil];
[queue addOperation:nvo];
2>采用NSBlockOperation开启多线程
NSBlockOperation * block=[NSBlockOperation blockOperationWithBlock:^{
NSLog(@"***block****%d",[NSThread isMainThread]);
}];
[queue addOperation:block];
3>采用队列
[queue addOperationWithBlock:^{
NSLog(@"***queue创建**");
}];
2 主队列
1> 子线程里面开辟子线程--并行,互不影响
NSBlockOperation * block=[NSBlockOperation blockOperationWithBlock:^{
[NSThread sleepForTimeInterval:3];
NSLog(@"------0");
}];
[block addExecutionBlock:^{
[NSThread sleepForTimeInterval:2];
NSLog(@"------1");
}];
2> 主队列初始化
NSOperationQueue * mainQueue=[NSOperationQueue mainQueue];
[mainQueue addOperationWithBlock:^{
NSLog(@"---主队列---%d",[NSThread isMainThread]);
}];