Ruby on Rails est-il multithread ?
Ruby on Rails est-il multithread ?

Vidéo: Ruby on Rails est-il multithread ?

Vidéo: Ruby on Rails est-il multithread ?
Vidéo: Multi-Threading and Ruby's Thread Class - Launch School Tech Talks 2024, Peut
Anonim

Phusion Passenger utilise la concurrence basée sur les processus pour traiter quelques demandes simultanément, donc, à proprement parler, n'est pas " multithread , " mais est toujours concurrente. Cette conférence de Rubis MidWest 2011 a de bonnes idées pour obtenir Ruby on Rails multithread Aller.

De cette manière, Ruby prend-il en charge le multithreading ?

UNE multithread programme a plus d'un thread d'exécution. Rubis facilite l'écriture de programmes multi-threads avec la classe Thread. Rubis les threads sont un moyen léger et efficace d'obtenir une simultanéité dans votre code.

Deuxièmement, Ruby est-il concurrent ? En particulier, Ruby concurrence c'est quand deux tâches peuvent démarrer, s'exécuter et se terminer dans des périodes qui se chevauchent. Cela ne signifie pas nécessairement, cependant, qu'ils fonctionneront tous les deux au même instant (par exemple, plusieurs threads sur une machine monocœur).

De même, Ruby est-il mono-thread ?

La réponse courte est oui, ils sont simple filetage . La réponse longue est que cela dépend. JRuby est multithread et peut être exécuté dans Tomcat comme tout autre code Java. IRM (par défaut rubis ) et Python ont tous deux un GIL (Global Interpreter Lock) et sont donc simple filetage.

Ruby a-t-elle un Gil ?

IRM a quelque chose appelé un verrou d'interpréteur global ( GIL ). C'est un verrou autour de l'exécution de Rubis code. Cela signifie que dans un contexte multi-thread, un seul thread peut s'exécuter Rubis code à tout moment. Les GIL existe pour protéger Rubis internes des conditions de concurrence qui pourraient corrompre les données.

Conseillé: