Is Ruby single-threaded?
Is Ruby single-threaded?

Video: Is Ruby single-threaded?

Video: Is Ruby single-threaded?
Video: Ruby in 100 Seconds 2024, Mei
Anonim

Het korte antwoord is ja, dat zijn ze enkele schroefdraad . Het lange antwoord is: het hangt ervan af. JRuby is meerdradig en kan in Tomcat worden uitgevoerd zoals andere Java-code. MRI (standaard robijn ) en Python hebben beide een GIL (Global Interpreter Lock) en zijn dus: enkele schroefdraad.

Is Ruby on Rails op deze manier single-threaded?

Als gevolg hiervan, hoewel Rails zelf is draad -veilig sinds versie 2.2, er is nog geen goede multi- schroefdraad server ervoor op Windows-servers. En u krijgt de beste resultaten door het uit te voeren op *nix-servers met behulp van multi-process/ enkel - schroefdraad gelijktijdigheidsmodel. Rails zoals een raamwerk is draad -veilig. Het antwoord is dus ja!

Vervolgens is de vraag waarom Python single threaded is? Deze vergrendeling voorkomt het uitvoeren van meerdere threads tegelijk in de Python tolk. Elk draad die wil rennen, moet wachten tot de GIL wordt vrijgegeven door de ander draad , wat betekent dat uw multi- python met schroefdraad applicatie is eigenlijk enkele schroefdraad.

Ook gevraagd, is Ruby multi-threaded?

EEN meerdradig programma heeft meer dan één draad van uitvoering. Robijn maakt het gemakkelijk om te schrijven multi - schroefdraad programma's met de Draad klas. Ruby draden zijn een lichtgewicht en efficiënte manier om gelijktijdigheid in uw code te bereiken.

Heeft Ruby een Gil?

De Global Interpreter Lock MRI heeft een Global Interpreter Lock, vaak de GIL , en hebben een hoog niveau begrip van het is belangrijk om te begrijpen hoe we multi-threaded code schrijven in Robijn . eigenlijk de GIL voorkomt meerdere Robijn threads niet tegelijkertijd worden uitgevoerd.

Aanbevolen: