[fpc-devel] LockFree Queue algorithm
DarekM
darekm at emadar.com
Sun Jan 27 14:51:35 CET 2008
Micha Nelissen pisze:
> DarekM wrote:
>
>> Hi
>> This is my proposition of algorithm and its implementing multithreaded
>> FIFO queue without lock.
>>
>
> Hmm 'Push' and 'Pop' sound like a stack, but the implementation seems to
> implement a FIFO indeed, with a head and tail.
>
It should be enqueue and dequeue. I was left because first I try
implement stack.
> You're sure about the situation where two threads are accessing head and
> tail at the same time, and there is only one item in your FIFO ?
>
Of course (if CAS (interlockedCompareExchange) has proper
implementation , that, I think, should be avoided
Queue is empty when tail=head,
when is not equal only one thread can receive object form queue, second
make again iteration
The same with ABA problem.
Darek
More information about the fpc-devel
mailing list