I'm looking for a non-blocking index pool, i.e., a finite set of integers 
in the range [0,n) where get() returns an arbitrary integer from the set 
and put(x) writes index x back to the set (there is no need to check for 
duplicates as only indices retrieved using get() are written back). As 
straightforward solution would be to use a bounded MPMC queue, 
e.g. 
http://www.1024cores.net/home/lock-free-algorithms/queues/bounded-mpmc-queue, 
initially filled with 0, 1, ..., n-1. However, as the data itself 
(integers) can be manipulated atomically and there are no constraints on 
the order in which indices have to be processed (FIFO, LIFO, etc.), there 
might be even simpler / more efficient solutions. Any ideas or hints? Thank 
you very much in advance for your help!

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"Scalable Synchronization Algorithms" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to lock-free+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/lock-free/ff8ff0a7-1a37-4515-aeff-853f9b10bd00%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to