2016-10-10 3 views
1

내부에 fetch_and_store 연산이있는 알고리즘이 있습니다. 나는이 줄을 제외한 알고리즘을 세계적으로 이해하고있다 : pred : ^qnode := I->prev := fetch_and_store (L, I). 이것은 (동시성 프로그래밍을위한) CLH 알고리즘입니다. 누군가이 부분을 이해하도록 도와 줄 수 있습니까?fetch_and_store 연산은 무엇입니까

알고리즘 : http://www.cs.rochester.edu/research/synchronization/pseudocode/ss.html#clh

답변

2

fetch_and_store (L, I)는 원자 L에 I를 기록하고이 잠금 노드는 하나 개의 스레드로 작업 할 것을 보장 L.의 이전 값 반환 스레드가 처리를 소요하고 다른 노드와 대체를 . 다른 스레드는 여기에 배치 한 노드를 사용합니다.

+0

그래서 원자 교환입니다. compare-and-swap과 비슷하지만 비교가 필요 없습니다. –