来自TBB的代码

时间:2010-04-20 16:44:09

标签: c++ tbb

我正在读这本书:英特尔线程构建模块。我经常很难理解它们。例如,以下代码来自本书(第112页):

Node* AllocateNode() {
Node* n;
FreeListMutexType::scoped_lock lock;
lock.acquire(FreeListMutex);
n=FreeList;
if(n)
Freelist=n->next;
lock.release();
if(!n)
n=new Node();

return n;
}

关于此代码还有其他介绍。我不明白。这是什么意思?我怎样才能更好地理解这本书?

2 个答案:

答案 0 :(得分:1)

这本书当然详细说明了它的作用?似乎是一种使用互斥锁提供安全访问的方法

答案 1 :(得分:1)

理解代码中发生的事情的关键是理解每个部分。确保您了解互斥锁,线程和竞争条件的概念。还要确保知道FreeListMutex和FreeList的对象是什么以及它们的作用。你可能不得不去谷歌做一些研究,但如果你理解了这些内容,你可以查看代码的每个部分并弄清楚它在做什么。

相关问题