Link Details

If you want it done right, do it yourself! Login and vote now.
Link 42001 thumbnail
User 217101 avatar

By gst
via blogs.azulsystems.com
Submitted: Sep 15 2007 / 14:53

I like the notion of using arrays to hold collections (efficiency (really cool paper), ease of access), but how do you incrementally migrate a collection from one array to another without blocking? By it's nature, you can't atomically update the entire array at one go. By the nature of concurrency, there can always be a 'late arriving writer' who wants to update the old array and isn't aware that a migration is in progress. If you let the writer's write proceed, you risk losing his update (classic hard problem in non-blocking algorithms: dropped update during a 'resize'). How do you get the late-writer's attention that something is going on, when (pretty much by definition) checking an unrelated volatile flag can't do the job?
  • 2
  • 0
  • 285
  • 13

Add your comment


Html tags not supported. Reply is editable for 5 minutes. Use [code lang="java|ruby|sql|css|xml"][/code] to post code snippets.

Voters For This Link (2)



Voters Against This Link (0)