****************本人写的一切文章都会不停的跟新, 不会去copy, 不会去坑爹的!****************
(一) 使用NSOperation和NSOperationQueue开启多线程:(不是很简洁的开启线程方法)
@interface c:NSOperation
-(void) main;
@end
@implementation c:NSOperation
-(void) main{
printf("operation!\n");
}
@end
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
for (int i = 0; i < 1000; ++i) {
c *operation = [[c alloc] init];
[queue addOperation:operation];
}
(二)使用 NSInvocationOperation开启多线程 (简洁的开线程的方法)
NSOperationQueue* queue;
NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithInvocation:invocation];
[queue addOperation:operation];
// 定义一个invocation: 理解NSInvocation here
NSString* cachePath = cachePathForKey(key);
NSInvocation* invocation = [NSInvocation invocationWithMethodSignature:[self
methodSignatureForSelector:@selector(writeData:toPath:)]];
[invocation setTarget:self];
[invocation setSelector:@selector(writeData:toPath:)];
[invocation setArgument:&data atIndex:2];
[invocation setArgument:&cachePath atIndex:3];