- (void)viewDidLoad {
[super viewDidLoad];
_mutablearray=[NSMutableArray array];
_mutablearraytwo=[NSMutableArray array];
NSLog(@"/%@",_mutablearraytwo);
for (int r=0; r<ROW; r++)
{
for (int c=0; c<COLUMN; c++)
{
UIImageView*imageview=[[UIImageView alloc]initWithFrame:CGRectMake(18.7+c*118, 20+r*118, 100, 100)];
imageview.backgroundColor = [UIColor redColor];
[_mutablearray addObject:imageview];
[self.view addSubview:imageview];
}
}
[self begin];
}
#pragma mark 开启多线程
-(void)begin
{
//创建一个操作队列
NSOperationQueue *operationQueue=[[NSOperationQueue alloc]init];
operationQueue.maxConcurrentOperationCount=5;//设置最大并发线程数
//2.向队列添加操作
// for(int i=0; i<IMAGE_CDUT;i++)
// {
//方法一:创建操作快 添加到队列
NSBlockOperation*blockOpearation=[NSBlockOperation blockOperationWithBlock:^{
[self loadImage:i];
};
//
[operationQueue addOperation:blockOpearation];
// //方法二:祷文invocation
// NSInvocationOperation*invocationOp=[[NSInvocationOperation alloc]initWithTarget:self selector:@selector(loadImage:) object:[NSNumber numberWithInt:i]];
// [operationQueue addOperation:invocationOp];
//
// }
//方法三:控制线程的执行顺序
//写一个串行队列
for (int i=0; i<9; i++)
{
NSBlockOperation*op1=[NSBlockOperation blockOperationWithBlock:^{
[self loadImage:[NSNumber numberWithInt:i]];
}];
// NSBlockOperation*op2=[NSBlockOperation blockOperationWithBlock:^{
// [self loadImage:[NSNumber numberWithInt:i+1]];
// }];
[_mutablearraytwo addObject:op1];
}
NSLog(@"*********%@",_mutablearraytwo );
// //设置依赖
for (int i=0; i<8; i++)
{
[_mutablearraytwo [i+1] addDependency:_mutablearraytwo [i]];
}
//把操作添加到队列
for (int i=0; i<9; i++)
{
// NSLog(@"%@",_mutablearraytwo[i]);
[operationQueue addOperation:_mutablearraytwo [i]];
}
// //
}
//子线程
-(void)loadImage:(NSNumber*)number
{
//回归主线程
NSData*data=[NSData dataWithContentsOfURL:[NSURL URLWithString:@"https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=2797161595,3723997864&fm=116&gp=0.jpg"]];
[[NSOperationQueue mainQueue]addOperationWithBlock:^{
UIImage*image=[UIImage imageWithData:data];
UIImageView*imageview=_mutablearray[[number intValue]];
imageview.image=image;
}];
}