A collection of thread-safe versions of common core Ruby classes.
This code base is now part of the concurrent-ruby gem at https://github.com/ruby-concurrency/concurrent-ruby. The code in this repository is no longer maintained.
Add this line to your application's Gemfile:
gem 'thread_safe' And then execute:
$ bundle Or install it yourself as:
$ gem install thread_safe require'thread_safe'sa=ThreadSafe::Array.new# supports standard Array.new formssh=ThreadSafe::Hash.new# supports standard Hash.new formsThreadSafe::Cache also exists, as a hash-like object, and should have much better performance characteristics esp. under high concurrency than ThreadSafe::Hash. However, ThreadSafe::Cache is not strictly semantically equivalent to a ruby Hash -- for instance, it does not necessarily retain ordering by insertion time as Hash does. For most uses it should do fine though, and we recommend you consider ThreadSafe::Cache instead of ThreadSafe::Hash for your concurrency-safe hash needs. It understands some options when created (depending on your ruby platform) that control some of the internals - when unsure just leave them out:
require'thread_safe'cache=ThreadSafe::Cache.new- Fork it
- Clone it (
git clone [email protected]:you/thread_safe.git) - Create your feature branch (
git checkout -b my-new-feature) - Build the jar (
rake jar) NOTE: Requires JRuby - Install dependencies (
bundle install) - Commit your changes (
git commit -am 'Added some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request