MySQL8.0 - InnoDB里的Latch定义

  1. 云栖社区>
  2. 阿里云数据库ApsaraDB>
  3. 博客>
  4. 正文

MySQL8.0 - InnoDB里的Latch定义

zhaiwx_yinfeng 2018-06-23 00:22:39 浏览3987
展开阅读全文

最近在看InnoDB关于mutex定义部分的代码,由于之前一直工作在MySQL5.6版本里,发现从5.7开始到8.0,这部分代码已经完全进行了重构,本文主要简单记录下新款latch的定义和使用方式。主要记录下涉及的函数和类,不做具体的深入

首先mutex的定义分为三个部分:

PolicyMutex:定义了mutex的接口,包括

enter();
exit();
try_lock();
init();
...

PolicyMutex私有成员m_impl,通过模板实例化为具体的实现方式:

TTASFutexMutex<GenericPolicy>   FutexMutex
TTASFutexMutex<BlockMutexPolicy>  BlockFutexMutex
TTASMutex<GenericPolic

网友评论

登录后评论
0/500
评论
zhaiwx_yinfeng
+ 关注
所属团队号: 阿里云数据库ApsaraDB