go语言部分runtime库函数
来源:互联网 发布:股票指标软件 编辑:程序博客网 时间:2024/06/10 02:34
runtime库函数相当cool,因为它可以控制go语言程序的运行多方法
1. runtime.GOMAXPROCS函数
默认此函数的值与CPU逻辑个数相同,即有多少个goroutine并发执行,当然可以设置它,它的取值是1~256。最好在主函数在开始前设置它,因为设置它会停止当前程序的运行。
2. runtime.Goexit函数
调用此函数会立即使当前的goroutine的运行终止,而其它的goroutine并不会受此影响。runtime.Goexit在终止当前goroutine前会先执行此goroutine的还未执行的defer语句。
请注意千万别在主函数调用runtime.Goexit,因为会引发panic
3. runtime.Gosched函数
调用此函数会让当前的goroutine出让cpu,此goroutine会加入调用度器的可运行G队列,重新获得调度。
4. runtine.LockOSThread函数和runtime.UnlockOSThread函数
主要是为cgo准备的锁定解锁M与G,因为有些C语言的函数库(比如OpenGL)会用到线程本地存储技术。如果G进行cgo之后返回发现当前的M被转走了,绑定其它的G在运行就会发现错误,所以当需要进行M与G锁定的情况可以用这两个函数
阅读全文
0 0
- go语言部分runtime库函数
- C语言部分库函数实现
- 第一部分 Go 语言基础
- Go语言学习之runtime包(The way to go)
- linux C语言库函数(部分)
- c语言部分库函数,代码实现,以及细节理解
- go学习之runtime
- 标准库函数部分简述
- 部分C库函数重写
- 实现部分库函数
- 模拟实现部分库函数
- 部分库函数源码
- 【Go】Go语言初学
- Runtime error go fuck yourself
- channel in Go's runtime
- channel in Go's runtime
- go runtime 的机制如何
- Go语言
- JavaScript面向对象和高级02
- 栈和堆
- 为什么父类引用可以指向子类对象 子类引用不能指向父类对象 泛型
- USACO Section1.1 Friday the Thirteenth
- Linux 学习(七)--- 用户和组账户管理
- go语言部分runtime库函数
- Junit4参数化设置以及测试套件使用
- Android 文件中断续传
- 字节流和字符流
- AOJ0033 Ball【贪心+序列处理】
- [Nmap渗透测试指南]第三章(探索网络)
- 【算法题】统计字符串单词个数
- List、Set、Map集合的解说与区别
- Python中RowIOBase详解