@@ -105,6 +105,7 @@ Derived from Ruby's [Struct](http://ruby-doc.org/core-2.2.0/Struct.html):
105105* [ Thread-local variables] ( http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/ThreadLocalVar.html )
106106* [ Software transactional memory] ( http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/TVar.html ) (TVar)
107107* [ ReadWriteLock] ( http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/ReadWriteLock.html )
108+ * [ ReentrantReadWriteLock] ( http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/ReentrantReadWriteLock.html )
108109
109110### Edge Features
110111
@@ -127,7 +128,8 @@ be obeyed though. Features developed in `concurrent-ruby-edge` are expected to m
127128* [ Exchanger] ( http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Exchanger.html )
128129* [ LazyRegister] ( http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/LazyRegister.html )
129130* [ Atomic Markable Reference] ( http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Edge/AtomicMarkableReference.html )
130- * [ Lock Free Linked Set] ( http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Edge/LockFreeLinkedSet.html )
131+ * [ LockFreeLinked Set] ( http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Edge/LockFreeLinkedSet.html )
132+ * [ LockFreeStack] ( http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Edge/LockFreeStack.html )
131133
132134#### Statuses:
133135
@@ -139,8 +141,7 @@ be obeyed though. Features developed in `concurrent-ruby-edge` are expected to m
139141- ** Channel** - Missing documentation; limted features; stability good.
140142- ** Exchanger** - Known race condition requiring a new implementation.
141143- ** LazyRegister** - Missing documentation and tests.
142- - ** AtomicMarkableReference** - Needs real world battle testing
143- - ** LockFreeLinkedSet** - Needs real world battle testing
144+ - ** AtomicMarkableReference, LockFreeLinkedSet, LockFreeStack** - Needs real world battle testing
144145
145146## Usage
146147
@@ -184,8 +185,6 @@ require 'concurrent/actor' # Concurrent::Actor and supporting code
184185require ' concurrent/edge/future' # new Future Framework
185186require ' concurrent/agent' # Concurrent::Agent
186187require ' concurrent/channel ' # Concurrent::Channel and supporting code
187- require ' concurrent/exchanger' # Concurrent::Exchanger
188- require ' concurrent/lazy_register' # Concurrent::LazyRegister
189188```
190189
191190If the library does not behave as expected, ` Concurrent.use_stdlib_logger(Logger::DEBUG) ` could help to reveal the problem.
0 commit comments