2009-07-12 3 views
2

난 그냥 이걸 발견 : 첫 눈에lock-free FIFO 대기열 관리를위한이 알고리즘은 훌륭합니까?

http://www.emadar.com/fpc/lockfree.htm

그것을 잘 보인다. 아무도 그것을 사용하고 있습니까? 아니면 이미 누군가가 그것을보고 사용할 수 없다는 것을 알았을까요?

+0

나에게 잘 보입니다. 하지만주의하십시오. 많은 항목을 추가하면 대기열의 크기를 초과하지 않는다는 표시는 없습니다. 대기열에 10 개 항목을 저장할 수 있고 11을 추가하면 읽은 첫 번째 항목이 내가 추가 한 마지막 항목이되며 읽은 항목 중 11 번째 항목이됩니다. –

답변

1

메모리 장벽 지침이 없으므로 x86 및 x86_64 프로세서에서는 정상이며 PowerPC (및 ARM)에서는 그렇지 않을 가능성이 높습니다.

간단한 사례를 위해 제작 중이며 문제가없는 것으로 나타났습니다. 델파이에서 비 제네릭을 사용합니다.

2

간략히 말하자면, ABA 문제는 해결되지 않습니다.

ABA 문제를 해결하는 유사한 구현은 here입니다.

+0

아마 LL/SC CPU에서 구현되었습니다. –