V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ashiamd
V2EX  ›  问与答

请问一下, Linux 关于进程/线程之间的锁机制的实现,具体代码从哪里看起呢?

  •  
  •   ashiamd · 2020-08-18 22:39:12 +08:00 · 864 次点击
    这是一个创建于 1550 天前的主题,其中的信息可能已经有所发展或是发生改变。

    回顾 java 知识的时候,不了解 synchronized 关键字等"锁"行为到底底层 C 或者汇编是如何实现的,从而能够保证多核 CPU 之间互斥访问内存。感觉网上不少文章也只提到 openJDK 里面对应的 C 代码,但是再深入的汇编 or 硬件又是如何协商实现锁总线等操作的,并没有提及(其实提个思路也好,我就想知道到底是什么地方的代码 or 什么机制保证了 CPU 之间能够根据这类"锁"机制去工作)

    本人不是 Linux 大佬,也不是从事 C 语言的并发开发的工作。所以对于 Linux 的锁实现不知道从何查起。

    自己先通过"Linux 进程锁"、"Linux 线程锁"等关键字查相关信息,然而没有找到满意的。

    比如,各种进程 /线程同步互斥,只要是多核 CPU,那就不可避免需要一套 硬件和软件 共同协商实现的锁机制,以确保 CPU 核之间能够互斥访问内存等。但是这些操作系统底层,与 CPU 相关的同步、互斥等操作,需要从哪里查阅呢?

    请问有热心网友知道吗?

    1 条回复    2020-08-18 22:43:07 +08:00
    Jirajine
        1
    Jirajine  
       2020-08-18 22:43:07 +08:00 via Android   ❤️ 1
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1185 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 18:32 · PVG 02:32 · LAX 10:32 · JFK 13:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.