zoukankan      html  css  js  c++  java
  • iphone多线程汇总

    1,NSThread

    - (void)updateImageForCellAtIndexPath:(NSIndexPath *)indexPath
    {
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    UIImage *image = [self getImageForCellAtIndexPath:indexPath];
    UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
    [cell.imageView performSelectorOnMainThread:@selector(setImage:) withObject:image waitUntilDone:NO];
    [pool release];
    }

    - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
    {
    [NSThread detachNewThreadSelector:@selector(updateImageForCellAtIndexPath:) toTarget:self withObject:indexPath];
    }

    2NSOperation

    首先是建立NSOperationQueue和NSOperations。NSOperationQueue会建立一个线程,每个加入到线程operation会有序的执行。

    NSOperationQueue *queue = [NSOperationQueue new];
    NSInvocationOperation *operation = [[NSInvocationOperation alloc];
    initWithTarget:self
    selector:@selector(doWork:)
    object:someObject];
    [queue addObject:operation];
    [operation release];

    下面是使用NSOperationQueue的过程:

    1. 建立一个NSOperationQueue的对象
    2. 建立一个NSOperation的对象
    3. 将operation加入到NSOperationQueue中
    4. release掉operation

    使用NSOperation有几种,现在介绍最简单的一种NSInvocationOperation,NSInvocationOperation是NSOperation的子类,允许运行在operation中的targer和selector

    3NSURLConnection

    如果你是网络应用使用NSURLConnection的异步代理无意是最简便的解决方案

  • 相关阅读:
    1. centos7 的安装
    编写java 程序与Linux进行远程连接并运行linux下的脚本
    java 利用辗除法求两个整数的最大公约数和最小公倍数
    java 给不同成绩分等级
    java 分解质因数
    java中导入 导出
    Mysql 常用命令
    mysql 创建联合主键
    mysql注释
    mysql管理工具navicat的快捷键
  • 原文地址:https://www.cnblogs.com/chen1987lei/p/2032259.html
Copyright © 2011-2022 走看看