Ruby on Rails ko'p oqimlimi?
Ruby on Rails ko'p oqimlimi?

Video: Ruby on Rails ko'p oqimlimi?

Video: Ruby on Rails ko'p oqimlimi?
Video: Episode #333 - Good Job | Preview 2024, Noyabr
Anonim

Phusion Passenger bir vaqtning o'zida bir nechta so'rovlarni bajarish uchun jarayonga asoslangan parallellikdan foydalanadi, shuning uchun, qat'iy aytganda, bunday emas " ko'p tarmoqli , " lekin hali ham bir vaqtda. Bu suhbatdan Ruby MidWest 2011-da olish haqida yaxshi fikrlar mavjud ko'p tarmoqli Ruby on Rails ketmoqda.

Shu tarzda, Ruby multithreadingni qo'llab-quvvatlaydimi?

A ko'p tarmoqli dasturda bir nechta bajariladigan oqimlar mavjud. Ruby Thread sinfi bilan ko'p bosqichli dasturlarni yozishni osonlashtiradi. Ruby iplar sizning kodingizda parallellikka erishishning engil va samarali usulidir.

Ikkinchidan, Ruby bir vaqtning o'zida? Jumladan, Ruby parallelligi Ikki vazifa bir-biriga o'xshash vaqt oralig'ida boshlanishi, bajarilishi va bajarilishi mumkin bo'lgan vaqt. Biroq, bu ularning ikkalasi ham bir vaqtning o'zida ishlaydi degani emas (masalan, bitta yadroli mashinada bir nechta iplar).

Xuddi shunday, Ruby bitta tishlimi?

Qisqa javob ha, ular shunday bitta ipli . Uzoq javob bu bog'liq. JRuby ko'p tarmoqli va boshqa java kodlari kabi tomcat da ishga tushirilishi mumkin. MRI (standart yoqut ) va Python ikkalasida ham GIL (Global Interpreter Lock) mavjud va shunday bitta ipli.

Rubyda Gil bormi?

MRI ega global tarjimon qulfi deb ataladigan narsa ( GIL ). Bu ijrosi atrofida qulf Ruby kod. Bu shuni anglatadiki, ko'p oqimli kontekstda faqat bitta ip bajarilishi mumkin Ruby istalgan vaqtda kod. The GIL himoya qilish uchun mavjud Ruby ma'lumotlarni buzishi mumkin bo'lgan irq sharoitidan ichki qismlar.

Tavsiya: