并发 并行 同步 异步 多线程 多进程 阻塞 非阻塞

并发

有一组任务隔间执行

如跑步2个钟,看书4个钟,分别需要体力和脑力的休息,间隔执行会更合理有效率,省去休息的时间:

跑步半个钟+看书1个钟;跑步半个钟+看书1个钟;跑步半个钟+看书1个钟;跑步半个钟+看书1个钟;

并行

同一时间进行多个事情

如跑步半个钟,听音乐1个钟:

一边跑步一边听音乐,共耗时1个钟


并发也包含并行的情况,并行是并发的特殊例子

多线程

线程依赖于进程,一个进程中可以有多个线程,他们有自己的堆戋和局部变量,但是没有独立的地址空间,好处是可以共享内存。

消耗资源比较少,但是健壮性不如多进程。

关于共享数据,多线程为了线性安全,通常会设置一个锁,python就有一个GIL防止变量同时被修改。

可以在任务管理器的‘性能’-‘资源监控器’中看到进程对应的线程数。


多进程

可以用任务管理器看到目前运行的进程,进程间的地址空间相互独立。

消耗资源较大。


阻塞

对函数调用而言,一般,阻塞的调用都是同步;但非阻塞并不都是异步

非阻塞

参考:

多线程多进程的选择

多线程VS多进程

chrome多进程原因

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值