c – pThread Mutex锁定没有全局互斥锁
我看到的所有使用pThread库进行Mutex锁定的教程都使用了Global Mutex Lock:
看到:
https://computing.llnl.gov/tutorials/pthreads/#Mutexes
http://www.drdobbs.com/cpp/184401518?pgno=3(对于boost :: thread但相同的上下文)
我想要做的是使用Mutex锁定,其中主文件的全局超出了需要锁定变量的函数的范围.这是一个例子:
Main.cpp的
int main() {
some initilisation code.
tree * tree1;
*Start thread to visualise tree* (see code below)
Mutex Lock:
delete tree1;
tree1 = newTree();
Mutex Unlock
visualiser.cpp
visualise(Tree *) {
Forever:
Mutex Lock:
Check for tree change.
Update tree image.
Display tree image.
Mutex Unlock
我想知道这是否可行:
>没有全局范围的互斥锁.>如果可能,不将互斥锁传递给可视化功能.
我明白这可能不合理,如果不是我如何使用extern将全局范围变量传递给visualiser.cpp?
另外,如果我需要将互斥量传递给函数,我将如何去做呢?