NSOperation、NSOperationQueue
//对于NSThread的封装,提供了更为方便的使用接口
//支持block
创建和使用
//最好不要直接使用===一般继承自己的类,然后再使用
//
//NSOperation *operation1=[[NSOperation alloc] init];
// 使用NSBlockOperation /NSInvocationOperation
NSBlockOperation *bo=[NSBlockOperation blockOperationWithBlock:^{
for (int i=0; i<100; i++)
{
NSLog(@”A=%d”,i);
[NSThread sleepForTimeInterval:0.1];
}
}];
//启动
// [bo start];
NSBlockOperation *bo2=[NSBlockOperation blockOperationWithBlock:^{
for (int i=0; i<100; i++)
{
NSLog(@”A=%d”,i);
[NSThread sleepForTimeInterval:0.1];
}
}];
//启动
// [bo2 start];
//操作队列 理解为:线程池
//注意:如果直接执行NSBlockOperation的花会在主线程中执行
//如果加到NSOperationQueue就会新开1个线程执行
NSOperationQueue *queue=[[NSOperationQueue alloc]init];
[queue addOperation:bo];
[queue addOperation:bo2];
}