go标准库-Runtime
Contents
go语言中文网有很多文档缺少内容比如string.Builder就没有,godoc绝对详尽,推荐阅读godoc
runtime包提供和go运行时环境的互操作,如控制go程的函数
函数
- func NumCPU() int:返回本地机器的逻辑CPU个数
- func GOMAXPROCS(n int) int:GOMAXPROCS设置可同时执行的最大CPU数,并返回先前的设置。 若 n < 1,不会更改当前设置
- func GC():执行一次垃圾回收
- func Goexit():Goexit终止调用它的go程
- func Gosched():使当前goruntine主动放弃处理器,进入就绪态
- func NumGoroutine() int:返回当前存在的Go程数
- func GOROOT() string:如果存在GOROOT环境变量,返回该变量的值;否则,返回创建Go时的根目录
- func Version() string:返回Go的版本字符串
- func SetFinalizer(x, f interface{}):给x添加终止器,让他多存活一个垃圾回收周期,起一个新携程执行f(x),SetFinalizer(x, nil)会清理任何绑定到x的终止器。x的终止器会在x变为不可接触之后的任意时间被调度执行。不保证终止器会在程序退出前执行,因此一般终止器只用于在长期运行的程序中释放关联到某对象的非内存资源。
pprof
pprof包以pprof可视化工具期望的格式书写运行时剖面数据
函数
- func StartCPUProfile(w io.Writer) error:开启CPU profile
- func StopCPUProfile():停止当前的CPU profile(如果有)
- func WriteHeapProfile(w io.Writer) error:写入堆栈信息