协程这么好,它能完全代替线程么?
好多问题呀,开始回答或者提问前,其实可以看看问题本身是不是有问题,像黄执中一样。------这个问题首先前提就有问题,谁说协程那么好的?任
2022-12-21 03:09:04
好多问题呀,开始回答或者提问前,其实可以看看问题本身是不是有问题,像黄执中一样。
------
(相关资料图)
这个问题首先前提就有问题,谁说协程那么好的?任何技术肯定都有自己的适用场景,这种通用层面的技术则更是了。
协程本质上就是由用户代码主动在某个时间点出让 CPU,可以在任何一行出让,当然语言层或框架层的协程一般会在原本是阻塞函数的调用内部,让出 CPU 资源,不阻塞当前线程。
当然像 go 这种协程做的特别牛逼的,牛逼到它自己都不想承认自己是协程的语言,就另说了。
所以协程一般适用于 IO 密集型的高并发场景。
你要说就完全 CPU 密集型计算,那还不如开你 CPU 核数那么多线程呢,开了协程反而不能并行了,还多了协程间切换的损耗。
所以协程那么好,这句话就可以否了,同时也顺便拿出了一个场景,说明用协程替换线程是负优化的,自然协程也不能完全替换线程。
------
再有,刚刚是站在应用程序角度考虑,要分场景看是使用协程还是线程。再从操作系统层面考虑,协程就根本无法替代线程了。
你想,协程需要自己主动出让 CPU 资源,那要是操作系统使用协程来运行应用程序,那万一应用程序自己一直不出让 CPU,也不调用能产生阻塞操作进而间接出让 CPU 的代码,那不就坏事了。
再有,协程本身的优势在于切换成本小,本质是因为栈小,而且也不需要切换页表。
那要是操作系统真的拿协程来跑多应用程序,这些优势也就不复存在了,而且如果协程实现在了内核态,本身从用户态陷入内核态的切换也少不了。
所以本来协程有的优势,在这里全没了,还极大增加了不公平性。
------
最后,这俩事情本身就不好讨论替换这一说,因为他们本质都不一样。
协程说白了就是一段串行的指令流,只不过中间哪个地方往哪跳的逻辑,被封装在了 "协程" 这个概念里而已。
再者,协程本身也是要跑在线程中的,需要有载体,他们二者本身就是相辅相成的关系,何来替代呢,更别说完全替代了。
有时候,了解清楚一项技术的本质,就能更好看清这些问题的荒诞了。
今天阳了躺在床上实在无聊,就挑了个知乎上的问题回答了一下,看好多回答都没说在点子上,就码了这些字,感兴趣的同学可以点开阅读原文看看。
好多问题呀,开始回答或者提问前,其实可以看看问题本身是不是有问题,像黄执中一样。------这个问题首先前提就有问题,谁说协程那么好的?任
12月20日,在国家市场监管总局例行新闻发布会上,国家药监局副局长黄果表示,当前,抗原检测是常见的检测方法之一,国家药监局先后对抗原检测
编程客栈()12月20日消息:特斯拉推特发布消息称,德国柏林超级工厂ModelY周产量突破3000辆。据悉,柏林超级工厂于2022年3月22日开业,Mode
挖贝网12月19日,安道设计(873698)发公告称,公司董事会于2022年12月16日收到董事会秘书韩宁递交的辞职报告,自2022年12月16日起辞职生效。韩
唐源电气(300789)12月19日在投资者关系平台上答复了投资者关心的问题。投资者:陈唐龙董事长,明年你们家族是会继续大幅减持,还是会增持呢?
博彩股盘初集体回落,永利澳门(01128 HK)、美高梅中国(02282 HK)等跌幅靠前。16日,澳门特区政府与6家博企签署特区娱乐场幸运博彩经营批给合同,承
近年来,许昌市魏都区人民法院着力推动党建与业务工作互融共促,15个党支部聚焦中心工作,形成了“一支部一品牌”的法院特色党建品牌,以“品
班凯罗晒KD签名球衣阿杜:我没想过去争夺MVP,凯文杜兰特,nba,阿杜,mvp,超音速,西雅图
央视新闻客户端12月17日,记者从广东省海洋综合执法总队了解到,当天接报湛江籍渔船“粤湛渔04129”在珠海万山海域被撞沉。经过一个多小时的营
运营商财经网曹思琪 文到目前为止,中国电信股份有限公司承德分公司(下称“承德电信”)总经理梁博文到任刚满一年,他是如何来到这里工作的?
截至2022年12月16日收盘,国睿科技(600562)报收于16 1元,较上周的16 81元下跌4 22%。本周,国睿科技12月12日盘中最高价报17 19元。12月16日
同花顺数据中心显示,沙钢股份12月15日获融资买入319 66万元,占当日买入金额的14 67%,当前融资余额6 38亿元,占流通市值的7 07%,低于历史10
据快查App了解到,12月8日公告显示,益阳市大通湖区锦程宝元有限公司被湖南省市场监督管理局列入严重违法失信企业名单,列入原因为被列入经营
截至2022年12月15日收盘,开开实业(600272)报收于11 32元,上涨3 1%,换手率9 65%,成交量15 44万手,成交额1 75亿元。12月15
“第一支箭”4万亿授信花落谁家?100多家房企受益