Ali je Ruby on Rails večniten?
Ali je Ruby on Rails večniten?

Video: Ali je Ruby on Rails večniten?

Video: Ali je Ruby on Rails večniten?
Video: Tutoriel Ruby on Rails : de PHP à Ruby on rails 2024, Maj
Anonim

Phusion Passenger uporablja sočasno, ki temelji na procesih, za sočasno obravnavo nekaj zahtev, tako da, strogo gledano, ni " večnitno , ", vendar je še vedno hkraten. Ta pogovor iz Ruby MidWest 2011 ima nekaj dobrih misli o pridobitvi večnitni Ruby on Rails gredo.

Ali na ta način Ruby podpira večnitno delovanje?

A večnitno program ima več kot eno nit izvajanja. Ruby omogoča enostavno pisanje večnitnih programov z razredom Thread. Ruby niti so lahek in učinkovit način za doseganje sočasnosti v vaši kodi.

Drugič, ali je Ruby sočasno? Še posebej, Ruby vzporednost je, ko se lahko dve nalogi začneta, izvajata in dokončata v prekrivajočih se časovnih obdobjih. Vendar to ne pomeni nujno, da se bosta oba izvajala v istem trenutku (npr. več niti na enojedrnem stroju).

Prav tako je Ruby enonavojen?

Kratek odgovor je da, so enojni navoj . Dolg odgovor je, da je odvisno. JRuby je večnitno in se lahko izvaja v tomcatu kot druga koda Java. MRI (privzeto rubin ) in Python imata GIL (Global Interpreter Lock) in sta tako enojni navoj.

Ali ima Ruby Gil?

MRI ima nekaj, kar se imenuje globalno zaklepanje tolmača ( GIL ). To je zaklepanje okoli izvedbe Ruby Koda. To pomeni, da se v večnitnem kontekstu lahko izvaja samo ena nit Ruby kodo kadar koli. The GIL obstaja za zaščito Ruby notranjih elementov zaradi pogojev dirke, ki bi lahko poškodovali podatke.

Priporočena: