OSCHINA 社区最新专区文章 |
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,就像线程... |
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,也就是无法故障自动切换。 深夜与女朋友么么哒……(此处省略... |
You are subscribed to email updates from OSCHINA 社区最新专区文章. To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google, 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States |
No comments:
Post a Comment