为什么在调用函数时使用`go`关键字?

时间:2014-09-24 00:52:47

标签: go

我正在浏览一个TCP服务器的例子。他们定义了一个函数,并用:

调用它
go handleRequest(conn)

我认为看到go关键字很奇怪,所以我尝试了它:

handleRequest(conn)

令我惊讶的是,这很有效!

  • 如果两者的工作方式相同,为什么要使用go关键字?
  • 如果他们的工作方式不同,有什么区别?
  • 是否有使用某种风格指南,或者您是否应该使用个人偏好?

2 个答案:

答案 0 :(得分:24)

go启动 goroutine ,由golang运行时管理。

它既可以在当前的OS线程上运行,也可以在不同的OS线程上自动运行。

您可以参考基本的golang文档,例如,Google搜索关键字goroutine中的一项是golang concurrency

答案 1 :(得分:5)

当你使用Go关键字使func运行到goRoutine之前,就像Java线程一样,并且是并发的方法,更多信息here。祝你好运