Just a quick note that I’ve released version 0.2.1 of the ‘concurrent’
gem, which provides Actors, data-parallel programming, and transparent
futures (plus lazy evaluation) for Ruby. This one adds:
- Actor timeouts
- Cleaned up support for Futures
- Support for JRuby
Downloadables are here:
http://rubyforge.org/frs/?group_id=3690&release_id=12005
I’ll be working on documentation for the next release, but until then,
here’s a brief example of futures in action:
require ‘concurrent/futures’
include Concurrent::Futures
f = Future.async { 3 * 3 } # the block runs in a new thread
f.inspect # => #<Thunk #<Thread:0xdeadcafe run>>
f + 1 # waits for thread to complete, then => 10
f.inspect # => 9
-mental