美文网首页
iOS 多线程中 线程的执行过程和 状态

iOS 多线程中 线程的执行过程和 状态

作者: joses | 来源:发表于2019-04-01 10:26 被阅读0次

                                                            线程的基本流程

         创建线程是处于新建状态,start是就绪状态,会放入到可调度线程池里面(cpu看线程是否可以调 用,是看线程是否在可调度线程池里面),cpu调度他的时候就会进入运行状态,当这个线程的时间片用完之后,进入就绪状态。所以调用了start方法之后,线程会在运行状态和就绪状态之间进行来回的切换。当线程调用sleep方法时候会进入阻塞状态,进入阻塞状态的线程是不可以工作的,进入阻塞状态时候线程会从可调度线程池里面移除出来到内存里面。此时这个线程还存在只不过cpu不会调用他而已,当sleep时间到了之后,会又移入可调度线程池中进入就绪状态,当cpu调用的时候又会进入运行状态。// 当线程里面的任务执行完或者异常退出了之后进入死亡状态,死亡会移除可调用线程池,并且从内存释放,不会做任何事情不要想着重新启动线程。

1.创建线程,新建状态,NSThread *thread = [[NSThread alloc]initWithTarget:self selector:@selector(task)object:nil];

2.就是Start,到就绪

3.就是CPU的调度,在线程池里面的线程

4.中间可能有的线程的会加线程同步锁或者调用Sleep方法,这样这个线程就会从线程池里面出来,等待被唤醒后再进入线程池,CUP进行调用

5.调用结束就会杀死线程,并释放内存

相关文章

  • iOS 多线程中 线程的执行过程和 状态

    线程的基本流程 创建线程是处于新建状态,start是就绪状态,会放入到可调度线程池里面(cpu看线程是否可以调 用...

  • iOS 多线程基础

    转自:iOS 多线程基础 - 简书 多线程同步和异步的区别?IOS中如何实现多线程的同步? 异步:可以同时执行多条...

  • iOS中多线程的实现方案

    在iOS开发的过程中,我们经常会使用到多线程,将那些耗时操作放到子线程中去执行。在iOS中涉及到的多线程有4种,分...

  • 队列和线程

    [iOS多线程中,队列和执行的排列组合结果分析] 多线程中的队列有:串行队列,并发队列,全局队列,主队列。 执行的...

  • 012-GCD多线程技术

    多线程 线程是进程内部执行任务的一种途径,多线程技术能适当提高程序执行效率和资源利用率,iOS 中的多线程技术主要...

  • GCD之函数与队列初探

    一、前言 在iOS开发过程中,我们知道多线程技术是使用最多的情况,能快速的执行多个调度任务的执行。而在多线程开发过...

  • ios知识点(9)多线程

    iOS多线程GCD详解 使用GCD iOS多线程中,队列和执行的排列组合结果分析 存在一点小瑕疵,如果同步(syn...

  • iOS面试题总结整理(附答案-持续更新)

    iOS面试题总结整理(附答案) 多线程的实现方式;iOS中实现多线程的方案有4种 延迟执行的几种方式;延迟1秒执行...

  • iOS多线程操作:NSThread

    在我们开发过程中我们经常会用到多线程开发,比如在异步线程中加载资源,执行好使操作等,在iOS开发中常见的多线程操作...

  • iOS多线程--并行开发二

    接上文iOS多线程--并行开发一 4、线程同步 说到多线程就不得不提多线程中的锁机制,多线程操作过程中往往多个线程...

网友评论

      本文标题:iOS 多线程中 线程的执行过程和 状态

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