Er Ruby on Rails flertrådet?
Er Ruby on Rails flertrådet?

Video: Er Ruby on Rails flertrådet?

Video: Er Ruby on Rails flertrådet?
Video: Ruby on Rails by Leila Hofer 2024, November
Anonim

Phusion Passenger bruker prosessbasert samtidighet for å håndtere noen få forespørsler samtidig, så strengt tatt er det ikke " flertrådet , " men er fortsatt samtidig. Denne praten fra Rubin MidWest 2011 har noen gode tanker om å få flertrådet Ruby on Rails går.

På denne måten, støtter Ruby multithreading?

EN flertrådet programmet har mer enn én utførelsestråd. Rubin gjør det enkelt å skrive flertrådede programmer med Thread-klassen. Rubin tråder er en lett og effektiv måte å oppnå samtidighet i koden din.

For det andre, er Ruby samtidig? Spesielt, Ruby samtidighet er når to oppgaver kan starte, kjøre og fullføre i overlappende tidsperioder. Det betyr imidlertid ikke nødvendigvis at de noen gang begge vil kjøre på samme øyeblikk (f.eks. flere tråder på en enkeltkjernemaskin).

På samme måte, er Ruby enkeltgjenget?

Det korte svaret er ja, det er de enkeltgjenget . Det lange svaret er at det kommer an på. JRuby er flertrådet og kan kjøres i tomcat som annen java-kode. MR (standard rubin ) og Python har begge en GIL (Global Interpreter Lock) og er dermed enkeltgjenget.

Har Ruby en Gil?

MR har noe som kalles en global tolkelås ( GIL ). Det er en lås rundt utførelsen av Rubin kode. Dette betyr at i en flertrådskontekst kan bare én tråd kjøres Rubin kode til enhver tid. De GIL finnes for å beskytte Rubin interne elementer fra raseforhold som kan ødelegge data.

Anbefalt: