- (void)test {
NSBlockOperation *operation = [NSBlockOperation blockOperationWithBlock:^{
NSLog(@"---- download%@",[NSThread currentThread]);
}];
[operation addExecutionBlock:^{
NSLog(@"-----download2 %@",[NSThread currentThread]);
}];
[operation addExecutionBlock:^{
NSLog(@"-----download3%@",[NSThread currentThread]);
}];
[operation start];
// 任务个数如果 > 1才会开始异步执行
}
// 先并发执行四个operation 再执行 add的block 事件
NSBlockOperation *operation = [NSBlockOperation blockOperationWithBlock:^{
NSLog(@"download00 -- %@",[NSThread currentThread]);
}];
[operation addExecutionBlock:^{
NSLog(@"download01 %@",[NSThread currentThread]);
}];
//---------
NSBlockOperation *operation1 = [NSBlockOperation blockOperationWithBlock:^{
NSLog(@"download1 -- %@",[NSThread currentThread]);
}];
NSBlockOperation *operation2 = [NSBlockOperation blockOperationWithBlock:^{
NSLog(@"download2 -- %@",[NSThread currentThread]);
}];
NSBlockOperation *operation3 = [NSBlockOperation blockOperationWithBlock:^{
NSLog(@"download3 -- %@",[NSThread currentThread]);
}];
// 1.创建队列
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
// NSOperationQueue *queue = [NSOperationQueue mainQueue];
// 2.添加任务 自动异步执行
[queue addOperation:operation];
[queue addOperation:operation1];
[queue addOperation:operation2];
[queue addOperation:operation3];