iOS学习之多线程(一)

一、进程

    (1)进程的定义:

            1.进程是程序的一次执行;

            2.进程是一个程序及其数据在处理机上顺序执行时所发生的活动;

            3.进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行进行资源分配和调度的一个独立单位;

            总结:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单元。

    (2)进程的特征:

            动态性、并发性、独立性、异步性

    (3)进程的基本状态及转换:

           1.就绪状态(Ready):指进程已处于准备好了运行的状态,即进程已分配到除CPU以外的所有必要资源后,只要再获得                   CPU,便可立即执行;
           2.执行状态(Running):指进程已获得CPU,其程序正在执行的状态;
           3.阻塞状态(Block):指正在执行的进程由于发生某事件(如I/O请求、申请缓冲区失败等)暂时无法继续执行的状态,亦              即进程的执行受到阻塞。

            三种基本状态的转换:
            

二、线程

    (1)线程的定义:

            1.一个进程由多个线程组成(1个进程至少要有1个线程);

            2.线程是进程的基本执行单元,一个进程的所有任务都在线程中执行。

三、多线程

    (1)多线程的定义:

            一个进程中可以开启多个线程,多个线程可以同时执行不同的任务。

    (2)使用多线程的好处:

            1.多线层可以解决程序的阻塞的问题;

            2.多线程可以提高程序的执行效率。

    (3)多线程的执行原理:

            1.(单核CPU)同一时间,CPU只能处理一个线程,只有一个线程在执行;
            2.多线程同时执行时CPU快速地在多个线程之间的切换;
            3.CPU调度线程的时间足够快,就造成了多线程的“同时”执行;

            4.如果线程数非常多,CPU会在n个线程之间切换,消耗大量的CPU资源,每个线程被调度的次数会降低,线程的执行效               率降低。

    (4)多线程的优缺点:

            优点:1.能适当提高程序的执行效率;
                     2.能适当提高资源的利用率(CPU、内存);
                     3.线程的任务执行完成后,线程会自动销毁;
            缺点:1.开启线程需要占用一定的内存空间(默认情况下每一个线程都占512KB);
                     2.如果开启大量的线程,会占用大量的内存空间,降低程序的性能;
                     3.线程越多,CPU在调用线程上的开销就越大;
                     4.程序设计更加复杂,比如线程间的通信,多线程的数据共享等。


操作系统进程、线程、多线程通用,部分参考自计算机操作系统原理。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值