别着急,先等我俩讨论完。异步是有代价的,不是简单替换了就行的。而且可以await一个按钮按下,这种情况是无法自动转换的
先等我俩讨论完
【 在 hgoldfish 的大作中提到: 】
: 对。java project loom 和 python gevent 等 green thread 或者你所谓的第一代协程语言的与 async/await 的唯一区别就是要不要使用 async/await 关键字。内部实现原理以及各种工具类并没有任何区别。强调一遍,没有任何区别。
: go 和 java 的好处是从语言底层,标准库里面把所有阻塞的调用都实现为 async 版本。c#, c++ 和 python 则会分别有 sync 和 async 两个版本 read()/write() 供程序员选择,所以前两个语言不需要关键字,后三个语言需要关键字 await 来区分 sync/async 调用。
: 最傻的是 javascript,它的 IO 必然都是 async 的,天然地可以采用 go/java 的办法,只要碰到 read/write 都自动地调用 async 版本——它也没有 sync 的 io. 但是 javascript 的设计者很蠢,只知道从 python 和 c# 抄语言特性,没想明白。
: ...................
--
FROM 123.116.219.*