进程,线程,协程的区别

都可以提高并发能力
进程和线程是计算机中真是存在的,而协程是程序员人为创造出来的
#是什么
进程是计算机资源分配的最小单位.
线程是计算机中可以被cpu调度的最小单位.
协程也可以称为“微线程”,实际上让一个线程轮番执行一些任务
#联系
一个进程中可以有多个线程,同一个进程中的线程可以共享此进程中的资源,
一个线程可以有多个协程,
一个应用程序中至少有一个进程,一个进程中至少有一个线程
#应用场景
在Python中因为有GIL锁,他同一时刻保证一个进程中只有一个线程可以被cpu调度,所以在使用Python开发时要注意:
计算密集型,用多进程.
IO密集型,用多线程/协程+IO操作

单纯的协程没办法提高并发,只是代码之间的切换,加上IO自动切换才能有意义
默认进程之间无法进行资源共享,如果主要想要通讯可以基于:文件/网络/Queue.

资源浪费
进程>线程>协程+IO切换
节省时间
进程≈线程≈协程+IO操作<串行操作

形象的关系

工厂 -> 应用程序
车间 -> 进程
工人 -> 线程
螺丝钉->协程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值