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

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

Видео: Является ли Ruby on Rails многопоточным?
Видео: Актуально ли изучать Ruby (on Rails) в 2023 году? 2024, Ноябрь
Anonim

Phusion Passenger использует параллелизм на основе процессов для одновременной обработки нескольких запросов, поэтому, строго говоря, это не так. многопоточный , , но по-прежнему одновременно. Это выступление от Рубин У MidWest 2011 есть несколько хороших мыслей о том, как получить многопоточный Ruby on Rails собирается.

Таким образом, поддерживает ли Ruby многопоточность?

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

Во-вторых, параллельна ли Ruby? Особенно, Параллелизм Ruby это когда две задачи могут запускаться, выполняться и завершаться в перекрывающиеся периоды времени. Однако это не обязательно означает, что они оба будут работать одновременно (например, несколько потоков на одноядерной машине).

Аналогично, является ли Ruby однопоточным?

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

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

МРТ имеет так называемая глобальная блокировка интерпретатора ( ГИЛ ). Это блокировка выполнения Рубин код. Это означает, что в многопоточном контексте только один поток может выполнять Рубин код в любой момент. В ГИЛ существует для защиты Рубин внутренности от условий гонки, которые могут повредить данные.

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