V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
newmiao
V2EX  ›  Go 编程语言

Dig101-Go 之深入理解 mutex

  •  
  •   newmiao · 2020-07-05 10:31:28 +08:00 · 1436 次点击
    这是一个创建于 1362 天前的主题,其中的信息可能已经有所发展或是发生改变。

    sync.MutexGo实现的互斥锁,提供了基本的同步操作,使用很方便。

    不过,你是否好奇过,Go是如何实现的Mutex,又是为什么要这样实现?

    今天跟随几个问题,我们一起探索下Mutex背后的设计。

    (不用担心,不会有大段的源码分析出现在本文😳)

    传送门: https://mp.weixin.qq.com/s/nTq_mYysUuY7YjCSVEubAQ


    推荐阅读:Dig101-Go 系列

    2 条回复    2020-07-05 11:02:34 +08:00
    abbycin
        1
    abbycin  
       2020-07-05 11:00:44 +08:00 via Android   ❤️ 1
    我好奇过 mutex 的实现,然后看了 Linux 源码里面 mutex 的实现,然后发现只是加了 lock 指令前缀,完。
    newmiao
        2
    newmiao  
    OP
       2020-07-05 11:02:34 +08:00
    @abbycin 恩除此外,Go 有自己的用户态线程( goroutine )和 GMP 调度,所以可以在上层在做一些优化
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2680 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 15:48 · PVG 23:48 · LAX 08:48 · JFK 11:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.