Esto podría ser una optimización prematura, o una sobreprotección prematura, pero estoy evitando usar singletons en algunas clases porque me preocupa que en el futuro necesitaré ejecutar mi aplicación como multiproceso, y que el los singletons crearán conflictos y desorden. ¿Los singleton tienen este problema en Ruby, o hay algún tipo de espacio de nombres incorporado para que cuando una clase se refiera al singleton, solo se devuelva el singleton en el mismo hilo?¿Las clases singleton crean problemas en una aplicación de subprocesos múltiples?
Editar: para aclarar estas son clases observables que cuando se actualizan causan que las otras clases que las están viendo se actualicen. No estoy seguro de si esto es seguro o no, pero sé que en este momento estoy pasando estas clases observables alrededor de una tonelada y es un poco molesto. Y parecen clases naturales únicas.
ámbito compartido (singleton o no) puede causa problemas en una aplicación multi-roscado. – R0MANARMY
^eso! El singleton ruby mixin es seguro para hilos en términos de "obtienes la misma instancia en todos los hilos, garantizado". como Michael Kohl ya escribió. Sin embargo, mantener su thread de implementación "single" seguro es su responsabilidad. – paukul