README.md in threads-0.1.0 vs README.md in threads-0.2.0
- old
+ new
@@ -1,25 +1,39 @@
[![DevOps By Rultor.com](http://www.rultor.com/b/yegor256/threads)](http://www.rultor.com/p/yegor256/threads)
[![We recommend RubyMine](http://www.elegantobjects.org/rubymine.svg)](https://www.jetbrains.com/ruby/)
[![Build Status](https://travis-ci.org/yegor256/threads.svg)](https://travis-ci.org/yegor256/threads)
[![Gem Version](https://badge.fury.io/rb/threads.svg)](http://badge.fury.io/rb/threads)
-[![Maintainability](https://api.codeclimate.com/v1/badges/0296baf81e86b90fba70/maintainability)](https://codeclimate.com/github/yegor256/threads/maintainability)
+[![Maintainability](https://api.codeclimate.com/v1/badges/24fc3acdf781d98b8749/maintainability)](https://codeclimate.com/github/yegor256/threads/maintainability)
-Ruby test threads.
+When you need to test your code for thread safety, what do you do?
+That's right, you just don't test it.
+That's [wrong](https://www.yegor256.com/2018/03/27/how-to-test-thread-safety.html)!
+This simple gem helps you test your code with just two additional lines of code.
First, install it:
```bash
$ gem install threads
```
-Then, use it like this, to print a threads:
+Then, use it like this, to test your code from multiple concurrently running threads:
```ruby
require 'threads'
-Threads.new.assert do |i|
- puts "Hello from threads no.#{i}"
+Threads.new(5).assert do |i|
+ puts "Hello from the thread no.#{i}"
+end
+```
+
+You can put whatever you want into the block. The code will be executed from five threads, concurrently.
+You can also make sure the code block runs only a specific number of times
+specifying the argument in the `assert` method (it can't be smaller than the amount of threads):
+
+```ruby
+require 'threads'
+Threads.new(5).assert(20) do |i, r|
+ puts "Hello from the thread no.#{i}, repetition no.#{r}"
end
```
That's it.