python 和 js 搞 async/await 都是错的。因为这两个语言一直没有多线程的基础(js 从来不支持多线程,而 python 有 GIL)),可以毫无负担地搞多协程+多进程。
python,搞 async/await 比 js 还糟糕。
举个例子,python 支持 __add__, __getattr__ 这些运算符重载。如果在这些函数里面要调用 async 函数,要怎么办?是不是还得添加 async __add__() 的支持?类似的问题还有很多。
所以说 python 搞 async/await 是个巨大的错误。
而 c#, c++, rust, scala, kotlin 这些语言搞 async/await 是对的。因为它们历史上,或者设计上,要求直接支持操作系统线程。
这事我好像在本版讨论过很多次了。可以翻翻我以前对 coroutine 的评论帖子。
【 在 lokta (部落) 的大作中提到: 】
: 但是异步这一套东西,大家都差不多.scala, ts也是这么玩的.
: 现在很多新语言也是这个讨论.
: 所以python也是跟主流靠拢...
: ...................
--
FROM 117.24.207.*