线程状态

来源:互联网 发布:linux 匹配文件名 编辑:程序博客网 时间:2024/05/21 15:38
  • 线程状态
    • 提示
      • 线程在生命周期中,不同的周期处于不同的状态
    • 新建
      • NSThread *thread = [[NSThreadalloc] initWithTarget:selfselector:@selector(demo)object:nil];
      • 内存中有了thread对象
    • 就绪
      • [thread start];
      • 把线程对象添加到可调度线程池
        • 等待被CPU调度执行
        • 线程池以外的线程CPU不管
    • 运行
      • 线程正在执行任务
    • 阻塞
      • 调用sleep/同步锁
        • [NSThread sleepForTimeInterval:1.0];
        • [NSThread sleepUntilDate:[NSDate dateWithTimeIntervalSinceNow:1.0]];
        • @synchronized
      • 线程暂停在阻塞的瞬间
        • 一旦开始阻塞,其实线程对象从可调度线程池移除了
        • 一旦阻塞结束会重新进入就绪状态
    • 死亡
      • 正常死亡
        • 任务执行结束
      • 异常死亡
        • 程序崩溃
        • 手动杀死
          • Gank
        • exit
          • 不要在主线程调用这个方法,会使主线程死亡
          • 一旦主线程死亡,程序无法继续正常执行
原创粉丝点击