进程、线程、协程区别与联系

进程,线程,协程之间的区别与联系:
        1.区别
            1.进程是资源分配的最小单位,线程是CPU调度的最小单位.
            2.进程是操作系统资源分配的单位
            3.线程是CPU调度的单位
            4.进程切换需要的资源最大,效率很低
            5.线程切换需要的资源一般,效率一般(当然在不考虑GIL的情况下)
            6.协程切换任务资源很小,效率高



        2.线程是指进程内的一个执行单元,也是进程内的可调度实体。线程与进程的区别:

            1.同一个进程中的线程共享同一内存空间,但是进程之间是独立的。
            2.同一个进程中的所有线程的数据是共享的(进程通讯),进程之间的数据是独立的。
            3.对主线程的修改可能会影响其他线程的行为,但是父进程的修改(除了删除以外)不会影响其他子进程。
            4.一个进程至少有一个进程
            5.同一个进程的线程之间可以直接通信,但是进程之间的交流需要借助中间代理(队列)来实现
            6.创建新的线程很容易,但是创建新的进程需要对父进程做一次复制。
            7.一个线程可以操作同一进程的其他线程,但是进程只能操作其子进程。
            8.线程启动速度快,进程启动速度慢(但是两者运行速度没有可比性)。

        3、协程与线程的比较
            1. 一个线程可以多个协程,一个进程也可以单独拥有多个协程,这样python中则能使用多核CPU。
            2. 线程进程都是同步机制,而协程则是异步
            3. 协程能保留上一次调用时的状态,每次过程重入时,就相当于进入上一次调用的状态
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值