Код из книги TBB - PullRequest
       13

Код из книги TBB

0 голосов
/ 20 апреля 2010

Я читаю книгу: Intel Threading Building Blocks.Мне часто трудно их понять.Например, следующий код взят из книги (стр. 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 ]

1 голос
/ 20 апреля 2010

Ключом к пониманию того, что происходит в коде, является понимание каждой части. Убедитесь, что вы понимаете концепции мьютексных блокировок, потоков и условий гонки. Также убедитесь, что вы знаете, что такое объекты FreeListMutex и FreeList и что они делают. Возможно, вам придется пойти в Google и провести какое-то исследование, но если вы понимаете части, вы можете просмотреть каждую часть кода и выяснить, что он делает.

1 голос
/ 20 апреля 2010

Конечно, книга подробно описывает, что она делает? Похоже, метод обеспечения безопасного доступа с помощью mutex's

...