Краткий ответ: никогда .
Я новичок в ruby, но я знаю это много по другим языкам: глобальные переменные никогда потокобезопасен.
В том же ключе избегайте одноэлементного шаблона, такого как чума, если только вы не имеете дело только с уникальной нитью.
Редактировать:
Кроме того, поиск в Google для инъекций зависимости от ruby предполагает, что Ruby ничего не нужно.Ну, скажи что.Это так.
Поскольку всегда предполагалось, что это не так, есть горы драгоценных камней и библиотек, а чего нет.Они в основном предполагают, что у вас есть только один поток и блокировка ввода-вывода.Если бы они не сделали этого с самого начала, они могли бы быть потокобезопасными и неблокирующими.Но в настоящее время они просто нет.
И если бы они сделали это, они бы лучше играли с серверами, управляемыми событиями.
В сложившейся ситуации это кровавый беспорядок.
Event Machine не является поточно-ориентированным.Тонкий и Голиаф не одно и то же.Rack-async - это в основном обезьяна, исправляющая все это.Пассажир использует форк и работает только при установке REE / 1.8.7 с рельсами.Mongrel является потокобезопасным, но блокирует ввод-вывод.Webrick является однопоточным и блокирует ввод-вывод.Список можно продолжить.Это просто грязно.