0

私は本を​​読んでいます:インテルスレッディングビルディングブロック。私はしばしばそれらを理解するのに苦労します。たとえば、次のコードは本(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;
}

このコードに関する他の紹介があります。私はそれを理解することはできません。どういう意味ですか?どうすればこの本をよりよく理解できますか?

4

2 に答える 2

1

確かに本はそれが何をするかを詳しく説明していますか?ミューテックスを使用して安全なアクセスを提供する方法のようです

于 2010-04-20T16:48:52.760 に答える
1

コードで何が起こっているかを理解するための鍵は、各部分を理解することです。ミューテックス ロック、スレッド化、および競合状態の概念を理解していることを確認してください。また、オブジェクト FreeListMutex と FreeList とは何か、またそれらが何をするのかを確認してください。Google に行って調査を行う必要があるかもしれませんが、コードの各部分を理解すれば、コードの各部分を調べて、それが何をしているかを把握できます。

于 2010-04-20T16:52:32.807 に答える