golang原生就是异步的吗?小白提问

过去一直是写python的,在python中,需要引入async和await等才能实现异步,请问go是怎么实现异步的呢?不加什么关键字的话,是否是以阻塞形式执行的呢?

阅读 3.5k
3 个回答

你对异步的理解有误,异步指的是在后台执行其他逻辑,不影响主逻辑的运行,defer并不是,它是主逻辑执行到函数结尾,返回前“同步”执行这些调用。go的异步要通过goroutine实现。

抱歉,是我理解错了,go就像是java一样是阻塞的,就和你后面说的一样的

所谓的异步 是指不阻塞/打断当前线程的执行。 但是和多线程&&并发是不一样的概念。
在golang 你书写的业务逻辑里面,不加特殊关键词go 的话,是串行执行的语法树

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题