gpt4 book ai didi

c++ - 互斥量锁定内存的哪一部分? (线程)

转载 作者:可可西里 更新时间:2023-11-01 18:02:26 25 4
gpt4 key购买 nike

我读过的关于 pthreads mutex 的所有文档都只说明了 mutex 可以防止多个线程访问共享内存,但是你如何在程序中指定它到底是什么?是程序中的所有全局变量,在锁定和解锁函数之间访问的变量,还是...?我在 pthreads 上找到的所有内容(包括示例)都非常模糊。

最佳答案

a mutex prevents multiple threads from accessing shared memory

以上说法不正确。就其本身而言,互斥锁不会这样做。它允许您构建代码以防止多个线程同时访问共享内存或其他资源,但它本身不会锁定任何内容。

您可以构建一个使用互斥量的程序,以防止多个线程同时执行特定代码段。如果这些代码片段碰巧正在访问共享内存区域,并且没有其他代码会在不锁定互斥锁的情况下尝试同时访问该区域,那么效果就是“锁定”该内存区域。

关于c++ - 互斥量锁定内存的哪一部分? (线程),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19153900/

25 4 0