Является ли Ruby однопоточным?
Является ли Ruby однопоточным?

Видео: Является ли Ruby однопоточным?

Видео: Является ли Ruby однопоточным?
Видео: Как дела, Руби? Владимир Дементьев - Ruby 2024, Ноябрь
Anonim

Короткий ответ - да, они однопоточный . Длинный ответ: это зависит от обстоятельств. JRuby - это многопоточный и может быть запущен в Tomcat, как и другой Java-код. МРТ (по умолчанию Рубин ) и Python имеют GIL (глобальную блокировку интерпретатора) и, таким образом, однопоточный.

Таким образом, является ли Ruby on Rails однопоточным?

В результате Eventhough Рельсы сам по себе нить -безопасно начиная с версии 2.2, пока нет хорошего мульти- резьбовой сервер для него на серверах Windows. И вы получите наилучшие результаты, запустив его на серверах * nix с использованием multi-process / Один - резьбовой модель параллелизма. Рельсы как каркас нить -безопасно. Итак, да!

Следовательно, возникает вопрос, почему Python однопоточный? Эта блокировка предотвращает одновременное выполнение нескольких потоков в Python устный переводчик. Каждый нить который хочет запустить, должен дождаться, пока GIL не будет выпущен другим нить , что означает ваш мульти- резьбовой Python приложение на самом деле однопоточный.

Также спросили, является ли Ruby многопоточным?

А многопоточный программа имеет более одного нить исполнения. Рубин позволяет легко писать мульти - резьбовой программы с Нить класс. Рубиновые нити - это легкий и эффективный способ добиться параллелизма в вашем коде.

У Руби есть Гил?

МРТ Global Interpreter Lock имеет Глобальная блокировка интерпретатора, часто называемая ГИЛ , а также имея понимание этого на высоком уровне важно для понимания того, как мы пишем многопоточный код в Рубин . В основном ГИЛ предотвращает множественные Рубин потоки от выполнения одновременно.

Рекомендуемые: