J'ai piraté Ruby de temps en temps, mais je n'ai rien fait de très gros ou de multithread avec. J'ai entendu que l'IRM prend uniquement en charge les threads verts et JRuby prend en charge les threads natifs via JVM. Cependant, je tombe sur des commentaires sur des blogs et des groupes de discussion qui disent que "Rails n'est pas thread-safe" ou que Ruby lui-même n'est pas thread safe. Par exemple, quelqu'un a commenté qu'il y avait un problème avec l'instruction require. Cela semble un peu fondamental.Sécurité du fil Ruby/Rails
J'ai vu beaucoup d'applications Java qui ne gèrent pas correctement et je concurrency des cauchemars de temps en temps :-) Mais au moins vous pouvez écrire des applications thread-safe en Java si vous vraiment sais ce que vous faites (ce n'est pas facile).
Tout cela semble très alarmant, quelqu'un peut élaborer plus - quel est exactement le problème et comment Rails parvient à travailler du tout si c'est le cas? Puis-je écrire du code Ruby multithread qui fonctionne correctement sans conditions de course et deadlocks? Est-il portable entre JRuby et MRI ou dois-je pirater du code spécifique JVM pour tirer parti des threads natifs JVM correctement?
EDIT:
j'aurais posé deux questions, parce que les gens ne semblent répondre aux rails des trucs de filetage (ce qui est bien en soi) et le filetage vert par rapport à filetage natif. Mes préoccupations sur les questions Ruby core sur le fil sécurité n'ont pas vraiment été abordées. Il semble y avoir au moins un (non résolu?) issue avec require dans certains cas.
Dupliquer: http://stackoverflow.com/questions/129226/what-are-the-current-state-of-affairs-on-threading-concurrency-and-forked-proces/129331#129331 –