- 主题:把js全干掉,统一成ts,有没有搞头?
我做得从上层看和Go是一样的,就解决并发这个问题的角度讲,Go难道不比async/await的方式强吗?
【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
: 你在某项目里实现了一个和另一个库效率相等的功能,不代表你用的方法比人家更好
: 计算机世界里等效的东西太多了,语言设计者考虑的是能简单明确写对,不出低级错误的方式
--
FROM 47.56.237.*
实际上是和Erlang一样,不同协程之间完全隔离,只能消息通信的
【 在 qingant (傅红雪) 的大作中提到: 】
: 我之前做过类似gevent的协程方案的,用C++做一个Lua的运行时,在运行时层面把所有IO调用转成协程自动调度,用起来就和Go差不多。所以就专业性来说,我不一定比这些语言设计者弱。
--
FROM 47.56.237.*
我们不是在探讨这个问题吗,你说async/await解决了什么gevent没解决的问题?
今天你写一个Python的库,你自己不考虑任何并发问题,让你的使用者用gevent去patch,我看不到任何机会最后结果回比async/await差
【 在 leadu (leadu) 的大作中提到: 】
: 所以你们可以试着找python管理团队聊一聊,看看问题出在哪里,为啥gevent行还非要加async,而且各个库也在
: 别的语言的使用者和你们聊,比较容易触发人的自我保护机制
--
FROM 1.85.205.*
这个是实现层面的问题,从使用角度来看,就是你永远写同步代码,交给语言运行时去帮你调度就行了。协程完全可以看做一种不必为上层所知的优化手段。
【 在 leadu (leadu) 的大作中提到: 】
: 我前一段时间简单了解过,go的协程其实是ThreadPool.QueueUserWorkItem,毕竟作者之一是os出身的,搞的也和windows xp的QueueUserWorkItem路数是一样的
--
FROM 1.85.205.*
不是一码事。
await是一种控制流的抽象,表示要等一个异步对象的结果。事实上没必要,就强迫所有控制流都是同步的就行了。
【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
: 那么go关键字还是比await要重的多啊
--
FROM 1.85.205.*
疯了跟你讨论。从编程语言的角度来讲,我们考虑的是怎么抽象控制流,提供什么样的思维模型,提供全同步的模型行不行?显然行,因为它的心智模型是最简单的。那么问题就是这样的模型是不是能够足够优化的实现,我们的回答也是简单的yes。既然这样,同步编程模型+调度优化难道不就是最优的方案吗?
【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
: 不是有没有必要,在最近几十年的OS内核里,所有的I/O都是这么实现的
: await只不过是一种简单不容易写错的手段。
--
FROM 1.85.205.*