摘要: MySQL事务的提交采用两阶段提交协议, 前些日子和同事聊的时候发现对提交的细节还是有些模糊,这里对照MySQL源码详细记录一下,版本是MySQL5.7.36。 一. 事务的提交流程。 1. 获取 MDL_key::COMMIT 锁: FTWRL会阻塞 commit 操作。 接下来进入 prepar 阅读全文
posted @ 2022-03-24 18:42 卷毛狒狒 阅读(1652) 评论(0) 推荐(1) 编辑
摘要: The basic element of the memory management is called a memoryheap. A memory heap is conceptually astack from which memory can be allocated. The stack 阅读全文
posted @ 2021-05-06 16:27 卷毛狒狒 阅读(499) 评论(0) 推荐(0) 编辑
摘要: 相比于Mutex来说,RWMutex锁的粒度更细,使用RWMutex可以并发读,但是不能并发读写,或者写写。 1. sync.RWMutex的结构 type RWMutex struct { // 互斥锁 w Mutex // held if there are pending writers // 阅读全文
posted @ 2021-04-28 18:23 卷毛狒狒 阅读(76) 评论(0) 推荐(0) 编辑
摘要: Mutex是go标准库中的互斥锁,用于处理并发场景下共享资源的访问冲突问题。 1. Mutex定义: // A Mutex is a mutual exclusion lock. // The zero value for a Mutex is an unlocked mutex. // // A 阅读全文
posted @ 2021-04-28 16:01 卷毛狒狒 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 一般程序的内存分配,从高位到低位依次为 全局静态区:用于存储全局变量、静态变量等;这部分内存在程序编译时已经分配好,由操作系统管理,速度快,不易出错。 栈:函数中的基础类型的局部变量;由程序进行系统调用向操作系统申请,由操作系统管理,速度快。每个线程有自己的栈区。 堆:使用malloc或new申请的 阅读全文
posted @ 2021-04-22 18:39 卷毛狒狒 阅读(1005) 评论(0) 推荐(0) 编辑
摘要: 相比于List,环的结构有些特殊,环的头部就是尾部,所以每个元素可以代表自身这个环。环其实是一个双向回环链表。type Ring struct { next, prev *Ring Value interface{} // for use by client; untouched by this l 阅读全文
posted @ 2021-04-19 17:15 卷毛狒狒 阅读(126) 评论(0) 推荐(0) 编辑
摘要: Context通常被称为上下文,在go中,理解为goroutine的运行状态、现场,存在上下层goroutine context的传递,上层goroutine会把context传递给下层goroutine。 每个goroutine在运行前,都要事先知道程序当前的执行状态,通常将这些状态封装在一个 c 阅读全文
posted @ 2021-02-24 10:41 卷毛狒狒 阅读(16276) 评论(0) 推荐(0) 编辑
摘要: 简单的工厂模式,又称为静态工厂方法,它属于类创建型模式。在简单工厂模式中,可以根据参数创建不同的实例。简单工厂模式专门定义一个类来创建其他类的实例。 优点 工厂类是整个模式的关键.包含了必要的逻辑判断,根据外界给定的信息,决定究竟应该创建哪个具体类的对象.通过使用工厂类,外界可以从直接创建具体产品对 阅读全文
posted @ 2021-01-25 19:27 卷毛狒狒 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 操作系统根据资源访问权限的不同,体系架构可以分为用户空间和内核空间;内核空间主要操作访问CPU资源,IO资源,内存资源等硬件资源,为应用程序提供最基本的基础资源;用户空间是上层应用程序的固定活动空间,用户空间不能直接访问内核空间,必须通过系统调用,库函数或者shell脚本来调用内核空间提供的资源。 阅读全文
posted @ 2021-01-25 17:57 卷毛狒狒 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 1. binlog dump线程何时向从库发送binlog mysql在server层进行了组提交之后,为了提高并行度,将提交阶段分为了 flush sync commit三个阶段,根据sync_binlog的不同,会在 flush阶段或者 sync阶段以更新binlog位置点的方式通知 dump 阅读全文
posted @ 2021-01-21 10:50 卷毛狒狒 阅读(178) 评论(0) 推荐(0) 编辑