Je, Ruby ana thread moja?
Je, Ruby ana thread moja?

Video: Je, Ruby ana thread moja?

Video: Je, Ruby ana thread moja?
Video: Ruby - Na Yule 2024, Mei
Anonim

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.

Kwa njia hii, Ruby kwenye Reli imeunganishwa moja kwa moja?

Matokeo yake, Eventhough Reli yenyewe ni uzi -salama tangu toleo la 2.2, bado hakuna anuwai nzuri threaded seva kwa ajili yake kwenye seva za Windows. Na unapata matokeo bora kwa kuiendesha kwenye seva za *nix kwa kutumia michakato mingi/ single - threaded concurrency model. Reli kama mfumo ulivyo uzi -salama. Kwa hiyo, jibu ni ndiyo!

Baadaye, swali ni, kwa nini Python imeunganishwa moja? Kufuli hii inazuia utekelezwaji wa nyuzi nyingi mara moja kwenye Chatu mkalimani. Kila moja uzi anayetaka kukimbia lazima asubiri GIL itolewe na nyingine uzi , ambayo ina maana nyingi- threaded Python maombi ni kweli single threaded.

Imeulizwa pia, Ruby ina nyuzi nyingi?

A yenye nyuzi nyingi programu ina zaidi ya moja uzi ya utekelezaji. Ruby hurahisisha kuandika nyingi - threaded programu na Uzi darasa. nyuzi za Ruby ni njia nyepesi na bora ya kufikia upatanifu katika msimbo wako.

Je, Ruby ana Gil?

Global Interpreter Lock MRI ina Kufuli ya Wakalimani Ulimwenguni, ambayo mara nyingi huitwa GIL , na kuwa na uelewa wa hali ya juu juu yake ni muhimu kuelewa jinsi tunavyoandika msimbo wenye nyuzi nyingi ndani Ruby . Kimsingi GIL huzuia nyingi Ruby nyuzi kutoka kwa utekelezaji kwa wakati mmoja.

Ilipendekeza: