iOS 开启多线程

来源:互联网 发布:学网络渗透 编辑:程序博客网 时间:2024/06/05 09:27

****************本人写的一切文章都会不停的跟新, 不会去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 = [[NSInvocationOperationalloc] initWithInvocation:invocation];

    [queueaddOperation:operation];


    // 定义一个invocation: 理解NSInvocationhere

    NSString* cachePath =cachePathForKey(key);

    NSInvocation* invocation = [NSInvocationinvocationWithMethodSignature:[self             

                   methodSignatureForSelector:@selector(writeData:toPath:)]];

[invocationsetTarget:self];

[invocationsetSelector:@selector(writeData:toPath:)];

[invocationsetArgument:&data atIndex:2];

[invocationsetArgument:&cachePath atIndex:3];



原创粉丝点击