کلاس Thread در جاوا متدی با نام stop دارد که deprecate شده است و نباید از آن استفاده کرد. دلیل deprecate شدن این متد خیلی مفصل است که می توانید در این لینک مطالعه کنید.
	حال راه حل جایگزین چیست:
	1- استفاده از یک فیلد flag از نوع volatile:
public final class Container implements Runnable {
  private final Vector<Integer> vector = new Vector<Integer>(1000);
  private volatile boolean done = false;
 
  public Vector<Integer> getVector() {
    return vector;
  }
 
  public void shutdown() {
    done = true;
  }
 
  @Override public synchronized void run() {
    Random number = new Random(123L);
    int i = vector.capacity();
    while (!done && i > 0) {
      vector.add(number.nextInt(100));
      i--;
    }
  }
 
  public static void main(String[] args) throws InterruptedException {
    Container container = new Container();
    Thread thread = new Thread(container);
    thread.start();
    Thread.sleep(5000);
    container.shutdown();
  }
}
	2- استفاده از متد interrupt از کلاس Thread:
public final class Container implements Runnable {
  private final Vector<Integer> vector = new Vector<Integer>(1000);
 
  public Vector<Integer> getVector() {
    return vector;
  }
 
  @Override public synchronized void run() {
    Random number = new Random(123L);
    int i = vector.capacity();
    while (!Thread.interrupted() && i > 0) {
      vector.add(number.nextInt(100));
      i--;
    }
  }
 
  public static void main(String[] args) throws InterruptedException {
    Container c = new Container();
    Thread thread = new Thread(c);
    thread.start();
    Thread.sleep(5000);
    thread.interrupt();
  }
}