-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
//創(chuàng)建隊(duì)列
NSOperationQueue *queue = [[NSOperationQueue alloc]init];
//設(shè)置最大并發(fā)操作數(shù)(線程用完了還可以拿來用)
queue.maxConcurrentOperationCount = 3;//數(shù)量為1的時(shí)候是串行隊(duì)列郎嫁,大于1的時(shí)候是并發(fā)隊(duì)列
//NSBlockOperation *op1 = [NSBlockOperation blockOperationWithBlock:^{
//NSLog(@"download1====%@",[NSThread currentThread]);
//}];
//添加操作到隊(duì)列中
//[queue addOperation:op1];
[queue addOperationWithBlock:^{
NSLog(@"download1====%@",[NSThread currentThread]);
[NSThread sleepForTimeInterval:0.01];
}];
[queue addOperationWithBlock:^
NSLog(@"download2====%@",[NSThread currentThread]);
[NSThread sleepForTimeInterval:0.01];
}];
[queue addOperationWithBlock:^{
NSLog(@"download3====%@",[NSThread currentThread]);
[NSThread sleepForTimeInterval:0.01];
}];
[queue addOperationWithBlock:^{
NSLog(@"download4====%@",[NSThread currentThread]);
[NSThread sleepForTimeInterval:0.01];
}];
[queue addOperationWithBlock:^{
NSLog(@"download5====%@",[NSThread currentThread]);
[NSThread sleepForTimeInterval:0.01];
}];
}
-(void)operationQueue1{
//創(chuàng)建隊(duì)列
NSOperationQueue *queue = [[NSOperationQueue alloc]init];
//創(chuàng)建操作(任務(wù)) NSInvocationOperation
NSInvocationOperation *op1 = [[NSInvocationOperation alloc]initWithTarget:self selector:@selector(download1) object: nil];
NSInvocationOperation *op2 = [[NSInvocationOperation alloc]initWithTarget:self selector:@selector(download2) object:nil];
//NSBlockOperation
NSBlockOperation *op3 = [NSBlockOperation blockOperationWithBlock:^{
NSLog(@"download3====%@",[NSThread currentThread]);
}];
[op3 addExecutionBlock:^{
NSLog(@"download4---------%@",[NSThread currentThread);
}];
[op3 addExecutionBlock:^{
NSLog(@"download5-------%@",[NSThread currentThread]);
}];
NSBlockOperation *op4 = [NSBlockOperation blockOperationWithBlock:^{
NSLog(@"download6===========%@",[NSThread currentThread]);
}];
//創(chuàng)建XMGOperation 創(chuàng)建一個(gè)類名叫XMGOperation繼承于NSOperation
XMGOperation *op5 = [[XMGOperation alloc]init];
//將任務(wù)添加懂啊隊(duì)列中
[queue addOperation:op1];//[op1 start];
[queue addOperation:op2];//[op2 start];
[queue addOperation:op3];//[op3 start];
[queue addOperation:op4];//[op4 start];
[queue addOperation:op5];//[op5 start];
}
-(void)download1{
NSLog(@"download1--------%@",[NSThread currentThread]);
}
-(void)download2{
NSLog(@"download2-------%@",[NSThread currentThread]);
}
//XMGOperation類
#import"XMGOperation.h"
@implementation XMGOperation
/**
需要執(zhí)行的任務(wù)
**/
//當(dāng)異步操作重復(fù)調(diào)用main里面的代碼
-(void)main{
NSLog(@“XMGOperation ----下載圖片-------%@”织阅,[NSThread currentThread]);
}