И Python, и Ruby имеют полную поддержку многопоточности.Существует несколько реализаций (например, CPython, MRI, YARV), которые на самом деле не могут запускать потоки параллельно, но это ограничение этих конкретных реализаций, а не языка.Это похоже на Java, где также есть некоторые реализации, которые не могут запускать потоки параллельно, но это не означает, что Java является однопоточным.
Обратите внимание, что в обоих случаях существует множество реализаций, которые может запускать потоки параллельно: PyPy, IronPython, Jython, IronRuby и JRuby - это лишь несколько примеров.
Основное различие между Clojure с одной стороны и Python, Ruby, Java, C #С другой стороны, C ++, C, PHP и почти любой другой основной и не очень распространенный язык - это то, что Clojure имеет модель параллелизма sane .Все остальные языки используют потоки, которые, как мы знаем, являются плохой моделью параллелизма в течение как минимум 40 лет.Clojure OTOH имеет разумную модель обновления, которая позволяет программисту представлять не только одну, но фактически несколько моделей разумного параллелизма: атомарные обновления, программную транзакционную память, асинхронные агенты, глобальные переменные локальных потоков с учетом параллелизма, фьючерсы, обещания, параллелизм потока данныхи в будущем, возможно, даже больше.