Похоже, что вы используете MRI, который не способен выполнять потоки параллельно. На данный момент единственными готовыми к реализации реализациями Ruby, которые могут запускать потоки параллельно, являются JRuby и IronRuby.
Помните, что если вы хотите, чтобы потоки фактически работали параллельно, то каждый слой в стеке должен быть в состоянии это сделать. Например, JRuby: JRuby может запускать потоки Ruby параллельно. Тем не менее, он реализует потоки, сопоставляя их с потоками JVM, поэтому, если JVM не способна запускать потоки параллельно (и есть некоторые, для которых это так), то тот факт, что JRuby может работать Параллельные потоки 1005 * Ruby не помогут вам ни на шаг. Многие JVM, в свою очередь, отображают потоки JVM в потоки ОС. И снова: если ОС не способна запускать потоки параллельно, JVM ничего не может сделать. И последнее, но не менее важное: если есть только один процессор, все упражнение бессмысленно.