Lo primero que haremos es crear una clase llamada Factorial la cual tendr una propiedad para almacenar el valor de nuestro factorial, un mtodo para obtener dicho valor y un mtodo sincronizado para bloquear su ejecucin desde que inicia hasta que termina. Esto nos permite evitar el solapamiento cuando el mtodo es llamado desde un hilo, y se traduce en bloquear el acceso o la ejecucin a dicho mtodo desde otro hilo, mientras haya un hilo que posea el acceso al mtodo.