Ali je Ruby enonavojni?
Ali je Ruby enonavojni?

Video: Ali je Ruby enonavojni?

Video: Ali je Ruby enonavojni?
Video: Ali Farka Touré & Toumani Diabaté - Debe live at Bozar 2024, Maj
Anonim

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 je na ta način Ruby on Rails enonavojen?

Kot rezultat, Čeprav Tirnice sama je nit -varno od različice 2.2, še ni dobrega multi- z navojem strežnik za to na strežnikih Windows. Najboljše rezultate dobite tako, da ga zaženete na *nix strežnikih z uporabo večprocesnih/ samski - z navojem vzporedni model. Tirnice kot je okvir nit -varno. Torej, odgovor je pritrdilen!

Kasneje se postavlja vprašanje, zakaj je Python enoniten? Ta ključavnica preprečuje izvajanje več niti hkrati v Python tolmač. Vsak nit ki želi teči, mora počakati, da GIL sprosti drugi nit , kar pomeni vaš multi- Python z navojem aplikacija je pravzaprav enojni navoj.

Vprašanje je tudi, ali je Ruby večniten?

A večnitno program ima več kot enega nit izvedbe. Ruby olajša pisanje več - z navojem programi z Nit razred. Rubinaste niti so lahek in učinkovit način za doseganje sočasnosti v vaši kodi.

Ali ima Ruby Gil?

MRI Global Interpreter Lock ima Global Interpreter Lock, ki se pogosto imenuje GIL , in imeti njegovo razumevanje na visoki ravni je pomembno za razumevanje, kako pišemo večnitno kodo Ruby . V bistvu GIL preprečuje večkratno Ruby niti ne izvajajo hkrati.

Priporočena: