Je Ruby s jedným závitom?
Je Ruby s jedným závitom?

Video: Je Ruby s jedným závitom?

Video: Je Ruby s jedným závitom?
Video: LaToya Ruby Frazier: A visual history of inequality in industrial America | TED 2024, November
Anonim

Krátka odpoveď je áno, sú s jedným závitom . Dlhá odpoveď je, že záleží. JRuby je viacvláknové a dá sa spustiť v tomcat ako iný java kód. MRI (predvolené rubín ) a Python majú GIL (Global Interpreter Lock) a sú teda s jedným závitom.

Je týmto spôsobom Ruby on Rails jednovláknový?

V dôsledku toho, Aj keď Koľajnice sám je niť -bezpečné od verzie 2.2, zatiaľ neexistuje dobrý multi- závitové server pre to na serveroch Windows. A najlepšie výsledky dosiahnete spustením na *nix serveroch s použitím multi-process/ slobodný - závitové súbežný model. Koľajnice ako je rámec niť -bezpečný. Takže, odpoveď je áno!

Následne je otázkou, prečo je Python jednovláknový? Tento zámok zabraňuje spusteniu viacerých vlákien naraz v Python tlmočník. Každý niť ktorý chce spustiť, musí počkať, kým GIL uvoľní druhý niť , čo znamená váš multi- vláknový Python aplikácia je v skutočnosti s jedným závitom.

Tiež sa pýtate, je Ruby viacvláknový?

A viacvláknové program má viac ako jeden niť exekúcie. Ruby uľahčuje písanie multi - závitové programy s Niť trieda. Rubínové vlákna predstavujú ľahký a efektívny spôsob, ako dosiahnuť súbežnosť vo vašom kóde.

Má Ruby Gila?

The Global Interpreter Lock MRI má Global Interpreter Lock, často nazývaný GIL , a majúci jeho pochopenie na vysokej úrovni je dôležité pre pochopenie toho, ako píšeme viacvláknový kód Ruby . V podstate GIL zabraňuje viacnásobnému Ruby vlákna z vykonávania v rovnakom čase.

Odporúča: