Je Ruby jednovláknový?
Je Ruby jednovláknový?

Video: Je Ruby jednovláknový?

Video: Je Ruby jednovláknový?
Video: Nginx v roli web serveru (Petr Krčmář) 2024, Smět
Anonim

Krátká odpověď je ano, jsou s jedním závitem . Dlouhá odpověď je, že záleží. JRuby je vícevláknové a lze jej spustit v tomcat jako jiný kód Java. MRI (výchozí rubín ) a Python mají GIL (Global Interpreter Lock) a jsou tedy s jedním závitem.

Je tímto způsobem Ruby on Rails jednovláknový?

V důsledku toho Eventhough Kolejnice sám je vlákno -bezpečné od verze 2.2, zatím neexistuje dobrý multi- závitové server pro něj na serverech Windows. A nejlepších výsledků dosáhnete, když jej spustíte na *nix serverech využívajících multiprocesní/ singl - závitové souběžný model. Kolejnice jako rámec je vlákno -bezpečný. Takže odpověď je ano!

Následně je otázkou, proč je Python jednovláknový? Tento zámek zabraňuje spuštění více vláken najednou v Krajta tlumočník. Každý vlákno který chce běžet, musí počkat, až GIL uvolní ten druhý vlákno , což znamená, že vaše multi- vláknový Python aplikace je ve skutečnosti s jedním závitem.

Také se zeptal, je Ruby vícevláknový?

A vícevláknové program má více než jeden vlákno exekuce. Rubín usnadňuje psaní vícenásobné - závitové programy s Vlákno třída. Rubínové nitě představují lehký a efektivní způsob, jak dosáhnout souběžnosti ve vašem kódu.

Má Ruby Gila?

The Global Interpreter Lock MRI má Global Interpreter Lock, často nazývaný GIL , a mít jeho porozumění na vysoké úrovni je důležité pro pochopení toho, jak zapisujeme vícevláknový kód Rubín . V podstatě GIL zabraňuje vícenásobnému Rubín vlákna z provádění současně.

Doporučuje: