Concurrent Ruby v0.6.0 Release Notes
Release Date: 2014-05-25 // almost 10 years ago-
- โ Added
Concurrent::Observable
to encapsulate our thread safe observer sets - ๐ Improvements to new
Channel
- ๐ Major improvements to
CachedThreadPool
andFixedThreadPool
- โ Added
SingleThreadExecutor
- โ Added
Current::timer
function - โ Added
TimerSet
executor - โ Added
AtomicBoolean
- ๐จ
ScheduledTask
refactoring - โก๏ธ Pure Ruby and JRuby-optimized
PriorityQueue
classes - โก๏ธ Updated
Agent
behavior to more closely match Clojure - ๐ Observer sets support block callbacks to the
add_observer
method - ๐ New algorithm for thread creation in
RubyThreadPoolExecutor
- โก๏ธ Minor API updates to
Event
- Rewritten
TimerTask
now anExecutor
instead of aRunnable
- ๐ Fixed many brittle specs
- ๐ Renamed
FixedThreadPool
andCachedThreadPool
toRubyFixedThreadPool
andRubyCachedThreadPool
- โก๏ธ Created JRuby optimized
JavaFixedThreadPool
andJavaCachedThreadPool
- Consolidated fixed thread pool tests into
spec/concurrent/fixed_thread_pool_shared.rb
andspec/concurrent/cached_thread_pool_shared.rb
- ๐
FixedThreadPool
now subclassesRubyFixedThreadPool
orJavaFixedThreadPool
as appropriate - ๐
CachedThreadPool
now subclassesRubyCachedThreadPool
orJavaCachedThreadPool
as appropriate - ๐ New
Delay
class Concurrent::processor_count
helper function- ๐ New
Async
module - ๐ Renamed
NullThreadPool
toPerThreadExecutor
- ๐ Deprecated
Channel
(we are planning a new implementation based on Go) - โ Added gem-level configuration
- Deprecated
$GLOBAL_THREAD_POOL
in lieu of gem-level configuration - โ Removed support for Ruby 1.9.2
- ๐ New
RubyThreadPoolExecutor
andJavaThreadPoolExecutor
classes - All thread pools now extend the appropriate thread pool executor classes
- ๐ All thread pools now support
:overflow_policy
(based on Java's reject policies) - ๐ Deprecated
UsesGlobalThreadPool
in lieu of explicit:executor
option (dependency injection) onFuture
,Promise
, andAgent
- Added
Concurrent::dataflow_with(executor, *inputs)
method to support executor dependency injection for dataflow - Software transactional memory with
TVar
andConcurrent::atomically
- ๐ First implementation of new, high-performance
Channel
- ๐
Actor
is deprecated in favor of new experimental actor implementation #73. To avoid namespace collision it is living inActress
namespace untilActor
is removed in next release.
- โ Added