美文网首页
多线程 NSThread

多线程 NSThread

作者: 小小Q吖 | 来源:发表于2016-06-19 09:56 被阅读21次

    一 NSThread的基本使用
    1)NSThread创建的四种方式
    第一种 创建方式alloc initwith ....
    特点 : 需要手动启动线程 可以拿到线程对象进行详细设置
    创建线程
    NSThread *thread = [[NSThread alloc]initWithTarget:self selector@selector(run:) object :@""];
    启动线程
    [thread start];
    第一个参数: 目标对象
    第二个参数 :选择器 ,线程青要调用哪个方法
    第三个参数:前面方法要接受的参数(最大只能接受一个参数,没有就写nil)

    第二种创建线程的方式:分离出一条子线程
    特点:自动启动线程,无法对线程进行更详细的设置
    [NSThread detachNewThreadSelector: @selectot:(run:) toTarget:self withObject:@""
    第一个参数:线程启动调用的方法
    第二个参数:目标对象
    第三个参数:传递给调用方法的参数
    第三章创建线程的方式:后台创建
    特点:自动启动线程 ,无法进行更详细的设置
    [self performSelectorBackground:@seletor(run:) withObject:@""];

    第四种 自定义
    需要自定义NSThread类重写内部方法实现

    设置线程属性
    设置线程名称
    thread.name =@""
    设置线程的优先级,优先级的取值范围是0.0-1.0 1.0表示最高 在不设置状态下 默认是0.5
    thread.threadpriority = 1.0

    二 线程状态
    线程的各种状态 :新建 就绪 运行 阻塞 死亡
    常用的控制线程状态的方法
    [NSThread exit] 退出当前线程
    [NSThread sleepForTimeInteval:2.0] 阻塞线程
    [NSThread sleepUntiDate:[NSDate dateWithTimeIntervalSinceNow:2.0]] 阻塞线程
    注意线程死后不能复生

    相关文章

      网友评论

          本文标题:多线程 NSThread

          本文链接:https://www.haomeiwen.com/subject/qyjbdttx.html