¿Cómo programar una tarea en un momento específico?

Tengo un problema con el programador de Java, mi necesidad real es que debo iniciar mi proceso en un momento determinado, y me detendré en un momento determinado, puedo iniciar mi proceso en un momento específico, pero no puedo detener mi proceso en un momento determinado. cómo especificar el proceso por cuánto tiempo se debe ejecutar en el planificador, (aquí no voy a poner tiempo), cualquiera tiene sugerencias para eso.

import java.util.Timer;
import java.util.TimerTask;
import java.text.SimpleDateFormat;
import java.util.*;
public class Timer
{
    public static void main(String[] args) throws Exception
    {

                  Date timeToRun = new Date(System.currentTimeMillis());
                  System.out.println(timeToRun);
                  Timer timer1 = new Timer();
                  timer1.schedule(new TimerTask() 
                   { 
                     public void run() 
                               {

                        //here i call another method
                        }

                    } }, timeToRun);//her i specify my start time


            }
}