Ruby еднонишков ли е?
Ruby еднонишков ли е?

Видео: Ruby еднонишков ли е?

Видео: Ruby еднонишков ли е?
Видео: Редис за 100 секунд 2024, Ноември
Anonim

Краткият отговор е да, те са единична резба . Дългият отговор е, че зависи. JRuby е многонишков и може да се изпълнява в tomcat като друг java код. ЯМР (по подразбиране рубин ) и Python имат GIL (Global Interpreter Lock) и по този начин са единична резба.

По този начин Ruby on Rails еднонишков ли е?

В резултат на това, Въпреки че Релси самата е конец -безопасно от версия 2.2, все още няма добра мулти- с резба сървър за него на Windows сървъри. И вие получавате най-добрите резултати, като го стартирате на *nix сървъри, използвайки мултипроцес/ единичен - с резба модел на едновременност. Релси като рамка е конец -безопасно. Така че, отговорът е да!

Впоследствие въпросът е защо Python е еднонишков? Това заключване предотвратява изпълнението на множество нишки наведнъж в Python преводач. Всеки конец който иска да работи трябва да изчака GIL да бъде освободен от другия конец , което означава вашият мулти- Python с резба приложението всъщност е единична резба.

Също така попитах, Ruby е многонишков?

А многонишков програмата има повече от един конец на изпълнение. Руби улеснява писането мулти - с резба програми с Конец клас. Рубинени нишки са лек и ефективен начин за постигане на едновременност във вашия код.

Руби има ли Гил?

Ядрено-магнитен резонанс на Global Interpreter Lock има Global Interpreter Lock, често наричан GIL , и като има разбирането на високо ниво за това е важно за разбирането как пишем многонишков код Руби . По принцип на GIL предотвратява множество Руби нишки от изпълнение по едно и също време.

Препоръчано: