Como usar a interface Runnable em Java para criar e iniciar uma discussão

Para os tópicos que disparam eventos de contagem regressiva específicos, tais como inundando a plataforma de lançamento, começando pelos eventos, e decolagem, você pode criar uma outra classe Java chamado Evento de lançamento. Essa classe usa outra técnica para criar e iniciar tópicos - um que requer mais algumas linhas de código, mas é mais flexível.

O problema com a criação de uma classe que estende o Fio classe é que uma classe pode ter uma superclasse. E se você preferir ter o seu objeto de discussão estender alguma outra classe? Nesse caso, você pode criar uma classe que implementa a Runnable de interface em vez de se estende a Fio classe.

o Runnable Interface marca um objeto que pode ser executado como um fio. Tem apenas um método, corre, que contém o código que é executado no segmento. (O Fio implementos própria classe Runnable, razão pela qual o Fio classe tem um corre método.)

Para utilizar o Runnable interface para criar e iniciar uma discussão, você tem que fazer o seguinte:

  1. Crie uma classe que implementa Runnable.

  2. Providencie um corre método no Runnable classe.

  3. Criar uma instância da Fio classe e passar o seu Runnable opor-se a seu construtor como parâmetro.

    UMA Fio objeto é criado que pode executar o seu Runnable classe.

  4. Ligar para Fio o objetivo de começar método.

    o corre método de sua Runnable objeto é chamado e executa em um segmento separado.

A primeira destas duas etapas são fáceis. O truque está na terceira e quarta etapas, porque você pode concluí-las de várias maneiras. Aqui está uma maneira, assumindo que o seu Runnable classe é denominada RunnableClass:

RunnableClass rc = new RunnableClass () - O Fio de t = new -t.start Thread (RC) () -

programadores Java gostaria de ser o mais conciso possível, de modo que muitas vezes você vê este código comprimido para algo mais parecido

Tópico t = new Thread (nova RunnableClass ()) - t.start () -

ou mesmo apenas isto:

. New Thread (new RunnableClass ()) start () -

Esta versão single-line funciona - desde que você não precisa para acessar o objeto de discussão no final do programa.

menu