8.16 Go语言runtime包:运行时 - Go语言中文社区

8.16 Go语言runtime包:运行时


runtime 包 提供了运行时与系统的交互,比如控制协程函数,触发垃圾立即回收等等底层操作,下面我们就运行时能做的所有事情逐个进行说明与代码演示

1.获取GOROOT环境变量

2.获取GO的版本号

3.获取本机CPU个数

4.设置最大可同时执行的最大CPU数

5.设置cup profile 记录的速录

6.查看cup profile 下一次堆栈跟踪数据

7.立即执行一次垃圾回收

8.给变量绑定方法,当垃圾回收的时候进行监听

9.查看内存申请和分配统计信息

10.查看程序正在使用的字节数

11.查看程序正在使用的对象数

12.获取调用堆栈列表

13.获取内存profile记录历史

14.执行一个断点

15.获取程序调用go协程的栈踪迹历史

16.获取当前函数或者上层函数的标识号、文件名、调用方法在当前文件中的行号

17.获取与当前堆栈记录相关链的调用栈踪迹

18.获取一个标识调用栈标识符pc对应的调用栈

19.获取调用栈所调用的函数的名字

20.获取调用栈所调用的函数的所在的源文件名和行号

21.获取该调用栈的调用栈标识符

22.获取当前进程执行的cgo调用次数

23.获取当前存在的go协程数

24.终止掉当前的go协程

25.让其他go协程优先执行,等其他协程执行完后,在执行当前的协程

26.获取活跃的go协程的堆栈profile以及记录个数

27.将调用的go协程绑定到当前所在的操作系统线程,其它go协程不能进入该线程

28.解除go协程与操作系统线程的绑定关系

29.获取线程创建profile中的记录个数

30.控制阻塞profile记录go协程阻塞事件的采样率

31.返回当前阻塞profile中的记录个数

更多内容参考: https://coder55.com/article/149191

版权声明:本教程内容除了本站原创内容外,还有来源自C语言编程网,博客园,CSDN等技术站点,感谢相关博主原创文章,转载请附上原文出处链接和本声明。
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 阅读 ( 612 )
  • 分类:Go

0 条评论

官方社群

GO教程

猜你喜欢