Diferença Entre Executável E Thread

Índice:

Diferença Entre Executável E Thread
Diferença Entre Executável E Thread

Vídeo: Diferença Entre Executável E Thread

Vídeo: Diferença Entre Executável E Thread
Vídeo: Afinal qual a diferença entre Core e Threads! 2024, Pode
Anonim

Diferença Chave - Executável vs Thread

Um programa em execução é conhecido como processo. O processo pode ser dividido em vários subprocessos. Por exemplo, o Microsoft Word é um processo. Ao mesmo tempo, ele verifica se há erros ortográficos e gramaticais. Esse é um subprocesso. Esses subprocessos são conhecidos como threads. Multithreading é o processo de executar vários threads simultaneamente. Aplicativos encadeados podem ser construídos usando diferentes linguagens de programação. Runnable e Thread estão associados à programação Java. Existem dois métodos em Java para criar um thread implementando uma interface Runnable ou estendendo a classe Thread. Ao implementar Runnable, muitos encadeamentos podem compartilhar o mesmo objeto de encadeamento, enquanto na classe Extending Thread, cada encadeamento possui um objeto exclusivo associado a ele. Essa é a principal diferença entre Runnable e Thread.

CONTEÚDO

1. Visão geral e diferença principal

2. O que é executável

3. O que é thread

4. Semelhanças entre executável e thread

5. Comparação lado a lado - executável vs thread em formato tabular

6. Resumo

O que é executável?

Um tópico passa por alguns estados. O “novo” é o início do ciclo de vida da rosca. Depois que o método start () chama um novo encadeamento, ele se torna executável. Se o planejador de encadeamento seleciona o encadeamento, ele passa para o estado de execução. O encadeamento está aguardando o estado se esse encadeamento estiver aguardando outro encadeamento para executar uma tarefa. Depois que o encadeamento conclui o trabalho, ele vai para o estado de término.

Um thread pode ser implementado usando a interface Runnable. Consulte o programa abaixo.

Diferença entre executável e thread
Diferença entre executável e thread

Figura 01: Programa Java para criar um thread usando a interface Runnable

De acordo com o programa acima, a classe Runnable Demo implementa a interface Runnable. O método run () está dentro da classe que implementa a interface Runnable. É o ponto de entrada para o segmento. A lógica está no método run (). No programa principal, um thread é criado definindo um objeto instanciado da classe Runnable Demo. É t1. O método start () é chamado usando t1.

Consulte o programa abaixo.

Diferença entre executável e Thread Figure 02
Diferença entre executável e Thread Figure 02

Figura 02: Programa Java para criar um thread para executar um loop, implementando a interface Runnable

De acordo com o exemplo acima, a classe Runnable Demo implementa a interface Runnable. A lógica a ser executada usando o thread é escrita no método run (). No programa principal, um thread é criado definindo um objeto instanciado da classe Runnable Demo. É t1. Então, o método start () é chamado usando t1.

O que é Thread?

O outro método de criar um thread é estendendo a classe Thread. Consiste em três etapas. A primeira é declarar a classe como estendendo a classe Thread. Depois, o método run () deve ser escrito. Ele contém a sequência de etapas que o thread deve executar. Finalmente, o objeto thread é criado e o método start () é chamado para iniciar a execução do thread. Consulte o programa abaixo.

Diferença entre executável e Thread Figure 03
Diferença entre executável e Thread Figure 03

Figura 03: programa Java que estende a classe Thread

De acordo com o programa acima, a classe MyThread estende a classe Thread. Ele substitui o método de execução. O método run () contém a lógica a ser executada pelo thread. É o ponto de entrada para o segmento. Em seguida, o objeto thread é criado. É thread1. A thread é iniciada usando o método start (). Ele executará uma chamada ao método run ().

Um exemplo de programa de duas classes estendendo a classe Thread é o seguinte.

Diferença chave entre executável e thread
Diferença chave entre executável e thread

Figura 04: programa Java com duas classes que estendem a classe Thread

De acordo com o programa acima, ambas as classes A e B estão estendendo a classe Thread. Ambas as classes têm sua implementação do método run (). A thread principal é a que executa o método main (). Antes de o thread principal morrer, ele cria e inicia thread1 e thread2. No momento em que o thread principal atingiu o final do método principal, três threads estão sendo executados em paralelo. Não há uma ordem específica na qual os threads fornecem saída. Depois que o thread é iniciado, é difícil decidir a ordem em que eles serão executados. Eles funcionam de forma independente.

Quais são as semelhanças entre executável e thread?

Ambos estão usando para criar um thread em Java

Qual é a diferença entre executável e thread?

Artigo Diff meio antes da tabela

Runnable vs Thread

Runnable é uma interface em Java para criar um encadeamento que permite que muitos encadeamentos compartilhem o mesmo objeto de encadeamento. O thread é uma classe em Java para criar um thread em que cada thread possui um objeto exclusivo associado a ele.
Memória
Em Runnable, vários threads compartilham o mesmo objeto, portanto, requerem menos memória. Na classe Thread, cada thread cria um objeto único, portanto, requer mais memória.
Estendendo habilidade
Depois de implementar a interface Runnable, ele pode estender uma classe. Múltiplas heranças não são suportadas em Java. Depois de estender a classe Thread, ele não pode estender nenhuma outra classe.
Manutenção do Código
A interface executável torna o código mais sustentável. Na classe Thread, a manutenção é demorada.

Resumo - Executável vs Thread

Um processo é dividido em vários subprocessos para executar várias tarefas ao mesmo tempo. Esses subprocessos são conhecidos como threads. A instanciação de um thread pode ser feita implementando a interface Runnable ou estendendo a classe Thread. É fácil estender a classe Thread, mas não é uma prática melhor de Programação Orientada a Objetos. Ao implementar Runnable, muitos encadeamentos podem compartilhar o mesmo objeto de encadeamento, enquanto na classe Thread de extensão, cada encadeamento possui um objeto exclusivo associado a ele. Essa é a diferença entre Runnable e Thread. Na classe Thread, a criação de vários objetos pode consumir mais memória.

Baixe o PDF do Runnable vs Thread

Você pode baixar a versão PDF deste artigo e usá-la para fins off-line de acordo com a nota de citação. Faça o download da versão em PDF aqui. Diferença entre executável e thread

Recomendado: