@interface MyTask : NSOperation { //继承NSOperation
}
@property int operationId;
@end
@implementation MyTask
@synthesize operationId;
//main函数就是线程里要执行的东西
-(void)main{
NSLog(@"task %i run...",operationId);
[NSThread sleepForTimeInterval:10];
[viewController log];
NSLog(@"task %i is finished.",operationId);
}
@end
- (void)viewDidLoad {
[super viewDidLoad];
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
int index = 1;
MyTask *task = [[[MyTask alloc] init] autorelease];
task.viewController = self;
task.operationId = index++;
[queue addOperation:task]; //把task加到NSOperationQueue就会执行线程
task = [[[MyTask alloc] init] autorelease];
task.operationId = index++;
[queue addOperation:task];
}