github ruby-concurrency/concurrent-ruby v0.7.0
0.7.0

latest releases: v1.2.3, v1.2.2, v1.2.1...
9 years ago
  • Merge the atomic gem
    • Pure Ruby MutexAtomic atomic reference class
    • Platform native atomic reference classes CAtomic, JavaAtomic, and RbxAtomic
    • Automated build process
    • Fat binary releases for multiple platforms including Windows (32/64), Linux (32/64), OS X (64-bit), Solaris (64-bit), and JRuby
  • C native CAtomicBoolean
  • C native CAtomicFixnum
  • Refactored intermittently failing tests
  • Added dataflow! and dataflow_with! methods to match Future#value! method
  • Better handling of timeout in Agent
  • Actor Improvements
    • Fine-grained implementation using chain of behaviors. Each behavior is responsible for single aspect like: Termination, Pausing, Linking, Supervising, etc. Users can create custom Actors easily based on their needs.
    • Supervision was added. RestartingContext will pause on error waiting on its supervisor to decide what to do next ( options are :terminate!, :resume!, :reset!, :restart!). Supervising behavior also supports strategies :one_for_one and :one_for_all.
    • Linking was added to be able to monitor actor's events like: :terminated, :paused, :restarted, etc.
    • Dead letter routing added. Rejected envelopes are collected in a configurable actor (default: Concurrent::Actor.root.ask!(:dead_letter_routing))
    • Old Actor class removed and replaced by new implementation previously called Actress. Actress was kept as an alias for Actor to keep compatibility.
    • Utils::Broadcast actor which allows Publish–subscribe pattern.
  • More executors for managing serialized operations
    • SerializedExecution mixin module
    • SerializedExecutionDelegator for serializing any executor
  • Updated Async with serialized execution
  • Updated ImmediateExecutor and PerThreadExecutor with full executor service lifecycle
  • Added a Delay to root Actress initialization
  • Minor bug fixes to thread pools
  • Refactored many intermittently failing specs
  • Removed Java interop warning executor.rb:148 warning: ambiguous Java methods found, using submit(java.lang.Runnable)
  • Fixed minor bug in RubyCachedThreadPool overflow policy
  • Updated tests to use RSpec 3.0
  • Removed deprecated Actor class
  • Better support for Rubinius

Don't miss a new concurrent-ruby release

NewReleases is sending notifications on new releases.