过去一直是写python的,在python中,需要引入async和await等才能实现异步,请问go是怎么实现异步的呢?不加什么关键字的话,是否是以阻塞形式执行的呢?
你对异步的理解有误,异步指的是在后台执行其他逻辑,不影响主逻辑的运行,defer并不是,它是主逻辑执行到函数结尾,返回前“同步”执行这些调用。go的异步要通过goroutine实现。
抱歉,是我理解错了,go就像是java一样是阻塞的,就和你后面说的一样的
所谓的异步 是指不阻塞/打断当前线程的执行。 但是和多线程&&并发是不一样的概念。在golang 你书写的业务逻辑里面,不加特殊关键词go 的话,是串行执行的语法树
2 回答1.3k 阅读
2 回答1.1k 阅读
2 回答855 阅读
3 回答673 阅读
997 阅读
1 回答776 阅读
4 回答6.2k 阅读
3 回答10.9k 阅读
5 回答13.7k 阅读
1 回答1.5k 阅读
4 回答5.8k 阅读✓ 已解决
你对异步的理解有误,异步指的是在后台执行其他逻辑,不影响主逻辑的运行,defer并不是,它是主逻辑执行到函数结尾,返回前“同步”执行这些调用。go的异步要通过goroutine实现。