Item | 线程 | Go例程 |
---|---|---|
栈大小 | 固定大小,一般为2MB | 变长大小,初始大小一般为2KB,运行时视需要扩展,最大可达1GB |
调度器 | 内核调度器scheduler,每隔一段时间会有一个硬件定时器超时,导致scheduler被调用,scheduler会中断当前线程,并保存线程上下文,切换到另外的线程执行,每次调度都涉及用户态/内核态的切换 | Go语言自带的调度器,采用m:n调度,即将m个go例程分发到n个操作系统线程,go例程切换不需要在用户态和内核态之间的切换,因此效率更高 |
ID | 启动线程后会返回一个线程ID,可以用以后续保持类似map的本地存储结构,但这会导致类似全局变量滥用的类似问题 | 无ID |
Go例程与操作系统线程的区别
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Golang爬虫代理接入的技术与实践
原創
2024-04-26 23:26:42
golang 表格
go get github.com/xuri/excelize/v2 package main import ( "fmt" "github.com/xuri/excelize/v2"
原創
2024-04-24 12:41:26
标准库unsafe:带你突破golang中的类型限制
原創
2024-03-29 10:55:53
go-Channel
原創
2024-03-24 00:10:06
logrus在windows的terminal下彩色显示
学_徒
2020-07-08 11:40:54
判断Golang中接口是否实现
学_徒
2020-07-08 11:40:54
golang image: unknown format 错误解决
无风的雨
2020-07-08 10:53:39
Golang panic 捕获异常打印堆栈信息
kinshy
2020-07-08 08:58:33
golang pbkdf2加密存储用户密码
藏呆羊
2020-07-08 07:44:51
Golang发送HTTP请求
藏呆羊
2020-07-08 07:44:49
众享免单(商城)系统开发
wjt1233210
2020-07-08 05:36:48
使用go-ethereum操作简单智能合约
高小小的家长
2020-07-08 05:35:28
在私链上使用go-ethereum发布ERC20代币合约
高小小的家长
2020-07-08 05:35:28
用Golang开发一个增改查的Dapp记事本
高小小的家长
2020-07-08 05:35:28
24小時熱門文章