Finalizar a execução de um programa

Opa!

Então pessoal, eu estou fazendo um HelloWorld de Threads e notei
que após o programa rodar, no console do eclipse ele não aparece
como terminado até eu clicar no Terminate.
O que eu deixei de fazer?

class Principal {
	public static void main(String[] args) {

		MeuBuffer buffer = new MeuBuffer();
		ThreadInsere insere = new ThreadInsere(buffer);
		ThreadRemove remove = new ThreadRemove(buffer);

		Thread threadA = new Thread(insere);
		Thread threadB = new Thread(remove);

		threadA.start();
		threadB.start();
		
	}
}

Obrigado,

[]s!

amigo faz um teste
thread.dispose();

qualquer coisa post

O problema pode estar nas duas outras threads (ThreadInsere e ThreadRemove), como estão os métodos run? eles terminam?

fw

Obrigado Thiago e Dieval!

Então, as outras Threads estão assim:

class ThreadInsere implements Runnable {

	MeuBuffer buffer;

	public ThreadInsere(MeuBuffer buffer) {
		this.buffer = buffer;
	}

	public void run() {
		for (int i = 0; i < 1000; i++) {
			buffer.inserir(new Integer(i).toString().charAt(0));
		}
	}

}

class ThreadRemove implements Runnable {

	MeuBuffer buffer;

	public ThreadRemove(MeuBuffer buffer) {
		this.buffer = buffer;
	}

	public void run() {
		for (int i = 0; i < 1000; i++) {
			buffer.remover();
		}
	}
}

Obrigado!