- 主题:增加了一个 union 语法
正在看<Manning.Python.Concurrency.with.asyncio.2022.2>的路过...
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 反正最近加的这些语法。我写的语法解析器不打算支持了。坚持在 async/await 之前的语法子集上。
--
FROM 223.104.97.*
但是异步这一套东西,大家都差不多.scala, ts也是这么玩的.
现在很多新语言也是这个讨论.
所以python也是跟主流靠拢...
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 这个 async/await 语法是 python 最近二十年最大的败笔。
: python 应该把 greenlet 集成到主线去才对。把 threading 的实现改成基于协程,而非操作系统线程。
--
FROM 223.104.97.*
比如这样的:
class A:
async def __abs__(self):
asyncio.slepp(1)
return 1
pycharm里会直接提醒你function __abs__ cannot be aysnc
说明这玩意儿本质上不太支持这么玩.
但是非要这么玩也不是不可以.
只不过__abs__就必须变成async.
【 在 hgoldfish (老鱼) 的大作中提到: 】
: python 和 js 搞 async/await 都是错的。因为这两个语言一直没有多线程的基础(js 从来不支持多线程,而 python 有 GIL)),可以毫无负担地搞多协程+多进程。
: python,搞 async/await 比 js 还糟糕。
: 举个例子,python 支持 __add__, __getattr__ 这些运算符重载。如果在这些函数里面要调用 async 函数,要怎么办?是不是还得添加 async __add__() 的支持?类似的问题还有很多。
: ...................
--
FROM 223.104.95.*
然后3.10已经搞出来awaitable anext(async_iterator[, default])
所以将来内置的函数直接区分.
原来的内置函数都不让async.
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 所以啊,为了支持 __abs__() 这些 magic method, python 还得发多少 pep 啊。
--
FROM 223.104.95.*