jak zaplanować zadanie w określonym czasie?

mam jeden problem z harmonogramem java, moją rzeczywistą potrzebą jest, aby rozpocząć proces w określonym czasie, a zatrzymam się w określonym czasie, mogę rozpocząć proces w określonym czasie, ale nie mogę zatrzymać procesu w określonym czasie, jak określić proces, jak długo ma działać w programie planującym (tutaj nie będę tego umieszczał), każdy ma sugestię.

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


            }
}