A është Ruby me një fije të vetme?
A është Ruby me një fije të vetme?

Video: A është Ruby me një fije të vetme?

Video: A është Ruby me një fije të vetme?
Video: Shenjat që tregojnë se ka sihër (magji) në shtëpi! 2024, Nëntor
Anonim

Përgjigja e shkurtër është po, ata janë me fije të vetme . Përgjigja e gjatë është se varet. JRuby është me shumë fije dhe mund të ekzekutohet në tomcat si kodet e tjera java. MRI (e parazgjedhur rubin ) dhe Python të dy kanë një GIL (Global Interpreter Lock) dhe janë kështu me fije të vetme.

Në këtë mënyrë, a është Ruby on Rails me një fije të vetme?

Si rezultat, edhe pse Binarët vetë është filli - i sigurt që nga versioni 2.2, nuk ka ende një multi- filetuara server për të në serverët Windows. Dhe ju merrni rezultatet më të mira duke e ekzekutuar atë në serverët *nix duke përdorur shumë procese/ beqare - filetuara modeli i konkurencës. Binarët si një kornizë është filli - i sigurt. Pra, përgjigja është po!

Më pas, pyetja është, pse Python është me një fije të vetme? Ky bllokim parandalon ekzekutimin e fijeve të shumta në të njëjtën kohë në Python përkthyes. Secili filli që dëshiron të kandidojë duhet të presë që GIL të lëshohet nga tjetri filli , që do të thotë shumë- Python i filetuar aplikimi është në të vërtetë me fije të vetme.

Gjithashtu u pyet, a është Ruby me shumë fije?

A me shumë fije programi ka më shumë se një filli të ekzekutimit. Rubin e bën të lehtë shkrimin shumë - filetuara programet me Fije klasës. Fijet e rubinit janë një mënyrë e lehtë dhe efikase për të arritur harmonizimin në kodin tuaj.

A ka Ruby një Gil?

MRI Bllokimi Global i Interpretuesit ka një Lock Global Interpreter, i quajtur shpesh GIL , dhe duke pasur Një kuptim i nivelit të lartë të tij është i rëndësishëm për të kuptuar se si shkruajmë kodin me shumë fije Rubin . Në thelb GIL parandalon të shumëfishta Rubin threads nga ekzekutimi në të njëjtën kohë.

Recommended: