Je, Ruby kwenye Reli ina nyuzi nyingi?
Je, Ruby kwenye Reli ina nyuzi nyingi?

Video: Je, Ruby kwenye Reli ina nyuzi nyingi?

Video: Je, Ruby kwenye Reli ina nyuzi nyingi?
Video: Ikufikie hii ya madini yanayotafutwa kwa wingi duniani 2024, Mei
Anonim

Abiria wa Phusion hutumia upatanifu wa mchakato kushughulikia maombi machache wakati huo huo, kwa hivyo, kusema madhubuti, sio " yenye nyuzi nyingi , " lakini bado ni sawa. Mazungumzo haya kutoka Ruby MidWest 2011 ina mawazo mazuri juu ya kupata Ruby yenye nyuzi nyingi kwenye reli kwenda.

Kwa njia hii, Ruby anaunga mkono usomaji mwingi?

A yenye nyuzi nyingi programu ina zaidi ya nyuzi moja ya utekelezaji. Ruby hurahisisha kuandika programu zenye nyuzi nyingi na darasa la Thread. Ruby nyuzi ni njia nyepesi na bora ya kufikia upatanifu katika msimbo wako.

Pili, je, Ruby yuko pamoja? Hasa, Ruby concurrency ni wakati ambapo kazi mbili zinaweza kuanza, kukimbia, na kukamilisha katika vipindi vya muda vinavyopishana. Haimaanishi, hata hivyo, kwamba zote zitawahi kukimbia kwa wakati mmoja (kwa mfano, nyuzi nyingi kwenye mashine ya msingi mmoja).

Vivyo hivyo, je, Ruby ameunganishwa moja kwa moja?

Jibu fupi ni ndiyo, wapo single threaded . Jibu refu inategemea. JRuby ni yenye nyuzi nyingi na inaweza kuendeshwa kwa tomcat kama nambari zingine za java. MRI (chaguo-msingi rubi ) na Python zote zina GIL (Global Interpreter Lock) na ziko hivyo single threaded.

Je, Ruby ana Gil?

MRI ina kitu kinachoitwa kufuli ya mkalimani wa kimataifa ( GIL ) Ni kufuli karibu na utekelezaji wa Ruby kanuni. Hii inamaanisha kuwa katika muktadha wa nyuzi nyingi, uzi mmoja tu unaweza kutekeleza Ruby kanuni wakati wowote. The GIL ipo kulinda Ruby wa ndani kutoka kwa hali ya mbio ambayo inaweza kupotosha data.

Ilipendekeza: