协程这么好,它能完全代替线程么?|世界观焦点
好多问题呀,开始回答或者提问前,其实可以看看问题本身是不是有问题,像黄执中一样。
(资料图片)
------
这个问题首先前提就有问题,谁说协程那么好的?任何技术肯定都有自己的适用场景,这种通用层面的技术则更是了。
协程本质上就是由用户代码主动在某个时间点出让 CPU,可以在任何一行出让,当然语言层或框架层的协程一般会在原本是阻塞函数的调用内部,让出 CPU 资源,不阻塞当前线程。
当然像 go 这种协程做的特别牛逼的,牛逼到它自己都不想承认自己是协程的语言,就另说了。
所以协程一般适用于 IO 密集型的高并发场景。
你要说就完全 CPU 密集型计算,那还不如开你 CPU 核数那么多线程呢,开了协程反而不能并行了,还多了协程间切换的损耗。
所以协程那么好,这句话就可以否了,同时也顺便拿出了一个场景,说明用协程替换线程是负优化的,自然协程也不能完全替换线程。
------
再有,刚刚是站在应用程序角度考虑,要分场景看是使用协程还是线程。再从操作系统层面考虑,协程就根本无法替代线程了。
你想,协程需要自己主动出让 CPU 资源,那要是操作系统使用协程来运行应用程序,那万一应用程序自己一直不出让 CPU,也不调用能产生阻塞操作进而间接出让 CPU 的代码,那不就坏事了。
再有,协程本身的优势在于切换成本小,本质是因为栈小,而且也不需要切换页表。
那要是操作系统真的拿协程来跑多应用程序,这些优势也就不复存在了,而且如果协程实现在了内核态,本身从用户态陷入内核态的切换也少不了。
所以本来协程有的优势,在这里全没了,还极大增加了不公平性。
------
最后,这俩事情本身就不好讨论替换这一说,因为他们本质都不一样。
协程说白了就是一段串行的指令流,只不过中间哪个地方往哪跳的逻辑,被封装在了 "协程" 这个概念里而已。
再者,协程本身也是要跑在线程中的,需要有载体,他们二者本身就是相辅相成的关系,何来替代呢,更别说完全替代了。
有时候,了解清楚一项技术的本质,就能更好看清这些问题的荒诞了。
今天阳了躺在床上实在无聊,就挑了个知乎上的问题回答了一下,看好多回答都没说在点子上,就码了这些字,感兴趣的同学可以点开阅读原文看看。
标签: 应用程序


甘肃:“寒凉”持续盘踞 “甘味”农产备受考验

(上海战疫录)专访上海一居民区书记:坚持!背后6000多居民等着我们

西宁公安严厉打击涉疫违法犯罪 依法处理案件72起123人

甘肃渭源:千年渭水文化蕴“写生热” 校地合作塑学生文化涵养

5月16日起 西宁市部分区域有序开放

青海西宁:设置“黄码医院”保障重点人群医疗服务需求
- 12-21协程这么好,它能完全代替线程么?|世界观焦点
- 12-21招商信诺人寿徐静:保险机构数字化转型最终要回到提升经济效益、优化客户体验中去
- 12-21银河证券:经济逐步回暖或将推动空调内销恢复 观热点
- 12-20环球要闻:雷科防务: 关于召开2023年第一次临时股东大会的通知
- 12-20上市公司破产重整潮起,恢复持续盈利能力是关键
- 12-20环球视点!罗强在宜宾调研时强调:持续提高产业链稳定性和竞争力
- 12-19*ST日海: 关于聘任公司副总经理的公告 世界信息
- 12-19世界微头条丨力生制药:根据专家的推荐意见,包括中央药业双清合剂等在内的多款产品入列用于COVID-19轻型治疗用药推荐名单
- 12-19陇南工伤认定标准是什么|天天快播报
- 12-18天天快报!借去花逾期8天不还会不会上征信
- 12-17栾川县气象局发布低温蓝色预警「IV级/一般」「2022-12-17」
- 12-17美迪凯(688079)12月16日主力资金净卖出152.41万元_世界速递
- 12-16廉租房离婚有如何的相关规定_天天快看
- 12-16Keil uVision4 & Proteus 7.7 SP2(crack)
- 12-16全球快看:美国加州巴旦木协会为中国的行业伙伴带来加州巴旦木产量与运量的最新消息
- 12-15聚光科技(300203):控股股东减持公司股份累计超过1%及控股股东之一减持计划实施进展 热消息
- 12-15贵人鸟“务农”:“农业”占比逾三成
- 12-15闪存板块12月14日跌1%,聚辰股份领跌,主力资金净流出4.61亿元:世界快看点
- 12-14环球焦点!《知否》:经历了婚姻之后,不再为明兰和小公爷意难平
- 12-14美锦能源:公司当前不涉及钠离子电池相关业务_天天头条
- 12-13隆达股份:加快全球市场布局 致力于成为全球高温合金材料解决方案供应商-世界热文
- 12-13全球球精选!多地定目标:到明年1月80岁以上人群新冠疫苗首剂接种率达90%
- 12-1312月12日基金净值:景顺长城新兴成长混合A最新净值2.372,跌0.5%
- 12-12每日讯息!中欣氟材(002915.SZ):中玮投资及3名董事、高管拟合计减持不超2.94%股份
- 12-12微资讯!球迷借庆祝法国晋级打砸抢,香榭丽舍大道108人被捕
- 12-09联诚精密(002921):选举职工代表监事-头条焦点
- 12-08【世界播资讯】粤万年青(301111.SZ):221.3万股首发战略配售股12月12日解禁
- 12-06泉峰汽车董秘回复:根据《证券登记结算管理办法》、《公司法》关于股东查阅股东名册的规定
- 12-01中汽协:10月销量前十轿车品牌中海豚和汉呈迅猛增长
- 12-01中汽协:10月销量前十轿车品牌中海豚和汉呈迅猛增长-环球关注