Saturday, July 3, 2021

OSCHINA 社区最新专区文章

OSCHINA 社区最新专区文章


goroutine调度机制

Posted: 20 Feb 2020 11:13 PM PST

调度器 主要基于三个基本对象上,G,M,P(定义在源码的src/runtime/runtime.h文件中) 1. G代表一个goroutine对象,每次go调用的时候,都会创建一个G对象 2. M代表一个线程,每次创建一个M的时候,都会有一个底层线程创建;所有的G任务,最终还是在M上执行 3. P代表一个处理器,每一个运行的M都必须绑定一个P,就像线程...

golang 协程的实现原理

Posted: 17 Feb 2020 02:18 AM PST

核心概念 要理解协程的实现, 首先需要了解go中的三个非常重要的概念, 它们分别是G, M和P, 没有看过golang源代码的可能会对它们感到陌生, 这三项是协程最主要的组成部分, 它们在golang的源代码中无处不在. G (goroutine) G是goroutine的头文字, goroutine可以解释为受管理的轻量线程, goroutine使用go关键词创建. 举例来说...

Redis 高可用篇:你管这叫 Sentinel 哨兵集群原理

Posted: 31 Mar 2021 05:50 PM PDT

概要 我们知道「主从复制是高可用的基石」,从库宕机依然可以将请求发送给主库或者其他从库,但是 Master 宕机,只能响应读操作,写请求无法再执行。 所以主从复制架构面临一个严峻问题,主库挂了,无法执行「写操作」,无法自动选择一个 Slave 切换为 Master,也就是无法故障自动切换。 深夜与女朋友么么哒……(此处省略...

No comments:

Post a Comment