为什么 Python 中的异步这么繁琐?

Python 中的异步是借助生成器机制实现的,现在提供的标准库,使用起来较为繁琐。不能理解的使用基本不大可能,完全不像其它典型的天生并发支持语言。比如 JS,Go。

在 JS 中:

setTimeout(() =\> console.log('hey!'), 3000)  

在 Go 中:

go func(){
  time.Sleep(3*time.Second)
  fmt.Println("hey!")
}()

但是在 Python 中:

def time_out():
  time.sleep(3)
  print('hey!')

asyncio.get_event_loop().run_in_executor(None, time_out)

很显然,Python 中需要严重依赖 asyncio,而且本质上还是多线程。

也许就是因为,JS 和 Go 天生支持异步,而 Python 是后来实现。


不知是该恭喜,还是该怎样,总之阅读到该文的,你是第 人。每一次刷新,都是不同的自己。