当前位置:网站首页>2020-11-06: go, let's talk about the scheduler.
2020-11-06: go, let's talk about the scheduler.
2020-11-06 22:43:00 【Fuda Dajia architect's daily question】
Fogo's answer 2020-11-06:
·MPG Model :goroutine The concurrency model of can be summarized as MPG Model ;
·MPG Concept : Threads (machine, System threads , Physical threads )- kernel (processor)- coroutines (goroutine, User threads , Logical threads );
· Many to many scheduling model : The overall scheduling follows the many to many model , Multiple collaborations ( About a million ) Scheduling in multiple threads at the same time ( About a thousand ) Next ;
·LRQ(LocalRunningQueue): Local run queue , One M Execute in a P In the context of ,P There is a G queue ;
·GRQ(GlobalRunningQueue): Global run queue ,G Not initialized or not LRQ When it's ready to mount, it's thrown in GRQ;
·GRQ=>LRQ:MP Will be in LRQ Check after execution GRQ, And steal the task from it and mount it to the current LRQ In the implementation of , They also have regular checks ;
· The purpose of scheduling is : The purpose of scheduling is to prevent thread blocking 、 idle 、 By OS Hang up (syscall);
· Prevent threads M jam :G1 coroutines IO When you leave MP,G2 From the current MP Of LRQ Pop up and execute ;
· Prevent threads M idle :M1 When idle , From M2 Of LRQ To steal half of the mission , Mount to your own LRQ In the implementation of ;
· Prevent threads M By OS Hang up (syscall):P With LRQ Hang to the bottom of other threads to execute , When syscall At the end ,M Will try to G0 Mount to other LRQ Medium or GRQ in ;
detailed go Scheduler model reference :
Go Chinese language network :https://studygolang.com/articles/9610
Simple books :https://www.jianshu.com/p/f9024e250ac6
版权声明
本文为[Fuda Dajia architect's daily question]所创,转载请带上原文链接,感谢
边栏推荐
- STM32F030C6T6兼容替换MM32SPIN05PF
- About Devops seven misunderstandings, 99% of people have been hit!
- idea 激活到 2089 失效
- VARCHART XGantt入门教程
- Gantt chart grouping activities tutorial
- .NETCore3.1+Vue.js打造的低代码工作流引擎
- Bluetooth broadcast chip for Shanghai giant micro
- Epu360: all the H5 templates you want are here, e-book, big turntable, red envelope rain, questionnaire survey
- The Interpreter pattern of behavior pattern
- How does varhart xgantt represent working days on a calendar
猜你喜欢

Git remote library rollback specified version

The isolation level of transaction and its problems

Stm32f030c6t6 compatible to replace mm32spin05pf

Es create a new index database and copy the old index library, practice pro test effective!

September 9, 2020: naked writing algorithm: two threads print numbers 1-100 in turn.

Zhou Jie: database system of East China Normal University

Detailed software engineering -- the necessary graphs in each stage

How to manage the authority of database account?

Dynamsoft barcode reader v7.5!

Jenkins installation and deployment process
随机推荐
8. Swarm creates maintenance and horizontal extension service
PHP backdoor hiding skills
The isolation level of transaction and its problems
关于DevOps的七大误解,99%的人都曾中过招!
应用层软件开发教父教你如何重构,资深程序员必备专业技能
Common mathematical basic formulas of recursive and backtracking algorithms
Practice of Xiaoxiong school development board: real equipment access of smart street lamp sandbox experiment
Stm32f030k6t6 compatible replacement smart mm32f031k6t6
How does varhart xgantt represent working days on a calendar
win7 APPCRASH(解决方法)(转)
预留电池接口,内置充放电电路及电量计,迅为助力轻松搞定手持应用
NAND FLASH的接口控制设计
Countdown | 2020 PostgreSQL Asia Conference - agenda arrangement of Chinese sub Forum
失眠一个整晚上
How to write plug-in code of small program mall system? How to use code to check whether the plug-in is successfully added?
Design of NAND flash interface control
Epu360: all the H5 templates you want are here, e-book, big turntable, red envelope rain, questionnaire survey
如何解决谷歌Chrome浏览器空白页的问题
Logo design company, Nanjing
STM32F030K6T6兼容替换灵动MM32F031K6T6