您的位置:首页 > 产品设计 > UI/UE

多线程NSInvocation+队列NSOperationQueue+NSBlockOperation

2015-06-04 19:39 441 查看
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]);
}];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息