A Ruby egyszálas?
A Ruby egyszálas?

Videó: A Ruby egyszálas?

Videó: A Ruby egyszálas?
Videó: Krúbi - Partyzán (Official Music Video) 2024, Április
Anonim

A rövid válasz: igen, igen egymenetes . A hosszú válasz az, hogy attól függ. JRuby az többszálú és futtatható a tomcatben, mint a többi java kód. MRI (alapértelmezett rubin ) és a Python is rendelkezik GIL-lel (Global Interpreter Lock), és így van egymenetes.

Ilyen módon a Ruby on Rails egyszálas?

Ennek eredményeként Eventhough Sínek maga az cérna -biztonságos a 2.2-es verzió óta, még nincs jó multi- csavarmenetes kiszolgálót a Windows szervereken. És akkor érheti el a legjobb eredményeket, ha *nix szervereken futtatja több folyamatot használó/ egyetlen - csavarmenetes párhuzamossági modell. Sínek mint egy keret cérna -biztonságos. Tehát a válasz igen!

Ezt követően a kérdés az, hogy a Python miért egyszálas? Ez a zár megakadályozza, hogy egyszerre több szál végrehajtása legyen a Piton tolmács. Minden egyes cérna amelyik futni akar, meg kell várnia, amíg a másik felszabadítja a GIL-t cérna , ami azt jelenti, hogy a multi- menetes Python alkalmazás valójában egymenetes.

Azt is megkérdezték, hogy a Ruby több menetes?

A többszálú programnak több is van cérna a végrehajtásról. Rubin megkönnyíti az írást több - csavarmenetes programokat a cérna osztály. Rubinszálak egy könnyű és hatékony módja annak, hogy a kódban párhuzamosságot érj el.

Rubynak van Gil-je?

A Global Interpreter Lock MRI van egy Global Interpreter Lock, amelyet gyakran a GIL , és amelynek ennek magas szintű megértése fontos annak megértéséhez, hogyan írunk be többszálú kódot Rubin . Alapvetően a GIL többszörösét akadályozza meg Rubin szálak egyidejű végrehajtásából.

Ajánlott: