Ruby est-il mono-thread ?
Ruby est-il mono-thread ?

Vidéo: Ruby est-il mono-thread ?

Vidéo: Ruby est-il mono-thread ?
Vidéo: Ruby the Treasure (Stromme Syndrome) 2024, Novembre
Anonim

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.

De cette manière, Ruby on Rails est-il à thread unique ?

En conséquence, même si Des rails lui-même est fil -safe depuis la version 2.2, il n'y a pas encore de bon multi- fileté serveur pour cela sur les serveurs Windows. Et vous obtenez les meilleurs résultats en l'exécutant sur des serveurs *nix utilisant multi-process/ Célibataire - fileté modèle de concurrence. Des rails comme cadre est fil -en sécurité. Donc, la réponse est oui!

Par la suite, la question est, pourquoi Python est-il à thread unique ? Ce verrou empêche l'exécution de plusieurs threads à la fois dans le Python interprète. Chaque fil qui veut s'exécuter doit attendre que le GIL soit libéré par l'autre fil , ce qui signifie que votre multi- Python fileté l'application est en fait simple filetage.

Également demandé, Ruby est-il multi-thread ?

UNE multithread programme a plus d'un fil d'exécution. Rubis facilite l'écriture multi - fileté programmes avec le Fil classer. Fils de rubis sont un moyen léger et efficace d'obtenir une simultanéité dans votre code.

Ruby a-t-elle un Gil ?

Le Global Interpreter Lock IRM a un Global Interpreter Lock, souvent appelé GIL , et ayant une compréhension de haut niveau est importante pour comprendre comment nous écrivons du code multithread dans Rubis . Fondamentalement le GIL empêche plusieurs Rubis threads de s'exécuter en même temps.

Conseillé: