关于我
GMP模型
Go 语言 GMP 模型详解:M、P、Goroutine 之间的协作机制 |
发布时间:2025-01-06
GMP 模型
M Machine
Goroutine 实际运行载体,一个 M 表示一个内核线程,有时候也叫工作线程
不仅运行现有的任务,也会主动到其他的队列中寻找可运行的 G,尽可能的不让自己闲下来
P Processor
管理 G 对象和为运行提供“上下文”,其内部包含两个队列,一个是可运行的 G 队列,一个则是自由 G 列表
M 与一个 P 关联了才能执行 Go 代码
Goroutine
对一段需要并发执行代码的封装
推荐阅读:
1. 短句和从句 | 英语语法详解:定语从句、状语从句和宾语从句
2. 5钟IO模型 | 深入理解五种IO模型:阻塞、非阻塞、I/O复用、信号驱动与异步IO
3. python扩展或嵌入解释器开发 | C/C++ 扩展 Python:模块扩展与嵌入 Python 解释器详解
4. 小试牛刀-执行shellcode | Python JIT 原理详解:运行时机器代码补丁与实践
5. 2019-12-23-parse-excel-time | Excel浮点时间转换与JavaScript时间格式化及PHP表单提交数据量限制解决
6. 喝什么奶粉 | 新生儿奶粉选择指南:不同体质宝宝的奶粉推荐及冲泡指南
7. ebpf-helloworld入门 | eBPF Hello World 入门教程:从零开始学习 eBPF 及其应用
8. 2019-12-17-grep-awk-sed-sort-etc | Mastering Linux Shell Commands for Efficient Text & Log Processing
9. 2020-01-09-sync-huge-database | Automated MySQL Database Synchronization using Bash Script
10. Python使用C或C++扩展类 | Python C/C++ 扩展类模块开发详解:从入门到成员属性方法绑定