You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Be an 'unopinionated' toolbox that provides useful utilities without debating which is better or why
27
+
* Remain free of external gem dependencies
28
+
* Stay true to the spirit of the languages providing inspiration
29
+
* But implement in a way that makes sense for Ruby
30
+
* Keep the semantics as idiomatic Ruby as possible
31
+
* Support features that make sense in Ruby
32
+
* Exclude features that don't make sense in Ruby
33
+
* Be small, lean, and loosely coupled
45
34
46
35
### Supported Ruby versions
47
36
@@ -66,11 +55,6 @@ We also have a [mailing list](http://groups.google.com/group/concurrent-ruby) an
66
55
#### General-purpose Concurrency Abstractions
67
56
68
57
*[Async](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Async.html): A mixin module that provides simple asynchronous behavior to a class. Loosely based on Erlang's [gen_server](http://www.erlang.org/doc/man/gen_server.html).
Unified implementation of futures and promises which combines features of previous `Future`,
71
-
`Promise`, `IVar`, `Event`, `dataflow`, `Delay`, and `TimerTask` into a single framework. It extensively uses the
72
-
new synchronization layer to make all the features **non-blocking** and **lock-free**, with the exception of obviously blocking
73
-
operations like `#wait`, `#value`. It also offers better performance.
74
58
*[Future](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Future.html): An asynchronous operation that produces a value.
75
59
*[Dataflow](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent.html#dataflow-class_method): Built on Futures, Dataflow allows you to create a task that will be scheduled when all of its data dependencies are available.
76
60
*[Promise](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Promise.html): Similar to Futures, with more features.
@@ -86,10 +70,6 @@ Collection classes that were originally part of the (deprecated) `thread_safe` g
86
70
*[Map](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Map.html) A hash-like object that should have much better performance characteristics, especially under high concurrency, than `Concurrent::Hash`.
87
71
*[Tuple](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Tuple.html) A fixed size array with volatile (synchronized, thread safe) getters/setters.
*[Maybe](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Maybe.html) A thread-safe, immutable object representing an optional value, based on
@@ -136,6 +116,11 @@ These features are under active development and may change frequently. They are
136
116
keep backward compatibility (there may also lack tests and documentation). Semantic versions will
137
117
be obeyed though. Features developed in `concurrent-ruby-edge` are expected to move to `concurrent-ruby` when final.
0 commit comments