Pues sería casi como lo tienes, pero creo que hay algunas cosas que están mal:
El estado inicial de la variable "running" debería ser "false"
Y en el segundo fragmento, en lugar de "if (running)" debería ser "if (!running)", y establecer "running=true" antes de "hilo.start()" y en el "else" puedes quitar el "hilo.interrupt()" y cambiarlo por "running=false"