官网文档对runtime包的介绍:
Package runtime contains operations that interact with Go's runtime system, such as functions to control goroutines. It also includes the low-level type information used by the reflect package; see reflect's documentation for the programmable interface to the run-time type system.
尽管 Go 编译器产生的是本地可执行代码,这些代码仍旧运行在 Go 的 runtime(这部分的代码可以在 runtime 包中找到)当中。这个 runtime 类似 Java 和 .NET 语言所用到的虚拟机,它负责管理包括内存分配、垃圾回收(第 10.8 节)、栈处理、goroutine、channel、切片(slice)、map 和反射(reflection)等等。
一、常用函数
runtime 调度器是个非常有用的东西,关于 runtime 包几个方法:
- NumCPU:返回当前系统的 CPU 核数量
- GOMAXPROCS:设置最大的可同时使用的 CPU 核数
通过runtime.GOMAXPROCS函数,应用程序何以在运行期间设置运行时系统中