Me gustaría pediros un poco de información. Es posible que sea una chorrada pero quiero saber la mejor forma de hacerlo y puede que mi ignorancia y falta de experiencia no ayude demasiado.
Estoy intentando aprender a bse de hacer pruebas como hacer un proceso en segundo plano. La idea es lanzar un algoritmo (un conjunto de cálculos que durará un tiempo definido, no el que tarde la máquina en hacerlos, sino más bien un tiempo exacto siempre) iniciado por un usuario, pero que sigue corriendo cuando el usuario se desconecta y que el resto de usuarios pueden interactuar con el proceso. Os pongo un ejemplo sencillo:
Un usuario entra en la web y le da a un boton para poner al fuego una comida. Y se desconecta, pero la comida va a tardar 25 minutos en hacerse. Cualquier usuario puede entrar y ver el estado de cocción de la comida, temperatura del agua en ese instante, e interactuar con la misma, como subirle la temperatura, alargar el tiempo, añadir ingredientes, etcétera.
Es un ejemplo que llevo un tiempo pensando, no para hacer un proyecto, sino para saber como podría hacer este tipo de programación.
Lo que necesitas es utilizar threads, es decir, hilos de ejecución distintos al que se está ejecutando la aplicación que "ve" el usuario, de manera que este no note ningún retardo o espera en la ejecución.