美文网首页
进程与线程(IOS端)

进程与线程(IOS端)

作者: 93未完待续 | 来源:发表于2016-03-03 09:56 被阅读71次


    进程:

              概念:操作系统中正在运行时的程序,专业讲,进程是应用程序的执行实例。在代码中,基本处于主要片段中,如viewDidLoad。

    线程:

              概念:

        线程是进程内容的一个独立的执行单位,用来执行某一任务(功能)。一个线程同时只能执行一个任务。线程执行完毕就不会被销毁。

              主线程:

        当应用程序启动时(应用程序成为进程)自动创建和启动,通常用来处理用户的输入并响应各种事件和消息,主线程的终止也以为着此程序的结束。

              子线程:

        由主线程创建,用来帮助主线程执行程序的后台处理任务。基于一个线程同时只能执行一个任务,可以理解为主线程的任务就是控制创建并控制子线程处理任务,这一点可以区分主线程与子线程之间的关系。一个进程可以有多个线程,并且所有线程都在该进程的虚拟地址空间中,可以使用进程中的全局变量和系统资源。

              多线程:

         1.当进程中只有一个线程用来执行任务的话,那么这个程序就不会响应一个以上的操作,只能等待前一个任务结束,这就造成了线程阻塞。为了提高程序的执行效率,可以开启多条线程用来执行不同的任务。

         2.同一时间内CPU只能处理一条线程(即便是多核的CPU,其内部也只是共用一个寄存器)。多线程并行执行,实际上是CPU运行速度快,各线程之间进行切换时间短,造成同时执行的假象。按某一时间段切换时,若任务没有结束,会保存在栈中,等待下次开启任务。

              多线程优势:

          提高程序执行效率,提高资源利用率(CPU内存)

              多线程劣势:

         1.开启线程占用一定的内存空间。

         2.线程越多,CPU在线程调度上的开销越大

         3.程序设计更加复杂:比如线程之间的通信,数据共享等。

             

    相关文章

      网友评论

          本文标题:进程与线程(IOS端)

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