轻松一下,说说进程,线程,协程之间的爱恨纠葛

1.进程:

     通俗理解一个运行起来的程序或者软件叫做进程。
     进程是操作系统资源分配的基本单位。
     默认情况下一个进程会提供一个线程(主线程),线程依附在进程里,一个进程可创建多个线程。


2.进程和线程的对比:

     进程是操作系统资源分配的基本单位,线程是cpu调度的基本单位。
     线程依附于进程存在,没有进程就没有线程,进程索要资源,然后让线程执行相应的代码。             
     一个进程可创建多个线程。
     进程之间不共享全局变量,线程之间共享,但是要注意资源竞争的问题,解决办法(互斥锁或者线程同步)。
     多进程开发比单进程多线程开发稳定性要强,因为某一个进程挂了不会影响其他进程运行。
     多进程开发比单进程多线程开发资源消耗大,因为每启动一个进程都需要向操作系统索要运行资源,但是线程可以共享进程中的资源,极大的提高了程序的运行效率。


3.进程,线程,协程对比:
     先有进程,进程里提供线程,线程里包含多个协程。
     进程是操作系统资源分配的基本单位,默认提供一个线程去执行代码。
     线程是cpu调度的基本单位,cpu调度那个线程,那个线程去执行对应的代码。
     进程之间不共享全局变量, 线程之间共享全局变量,但是要注意点资源竞争数据错误的问题,解决办法:互斥锁。
     多进程开发比单进程多线程开发稳定性要强,但是资源开销要大。
     线程之间执行是无序的,协程之间按照一定顺序交替执行的。
     协程主要用在网络爬虫,网络请求,以后大家主要线程或者协程完成多任务。
     开辟协程大概需要5k,开辟线程大概需要512k, 开辟进程需要资源更多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值