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: Definição de Threads e Diferença entre Thread de Usuário e de Kernel - SISTEMAS DE COMPUTAÇÃO 2024, Novembro
Anonim

Key Difference – 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, verifica o erro de ortografia e gramática. Isso é um subprocesso. Esses subprocessos são conhecidos como threads. Multithreading é o processo de execução de vários threads simultaneamente. Os 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 threads podem compartilhar o mesmo objeto de thread enquanto na classe Extending Thread, cada thread tem um objeto exclusivo associado a ele. Essa é a principal diferença entre Runnable e Thread.

O que é executável?

Um thread passa por alguns estados. O “novo” é o início do ciclo de vida da thread. Depois que o método start() chama um novo thread, ele se torna executável. Se o agendador de encadeamentos selecionar o encadeamento, ele transitará 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 thread conclui o trabalho, ele vai para o estado de terminação.

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 uma 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 thread. A lógica está no método run(). No programa principal, uma thread é criada 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_Figura 02
Diferença entre executável e Thread_Figura 02

Figura 02: Programa Java para criar uma 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 a thread é escrita no método run(). No programa principal, uma thread é criada 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 uma 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. Tem a sequência de passos que a 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_Figura 03
Diferença entre executável e Thread_Figura 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 run. O método run() contém a lógica a ser executada pela thread. É o ponto de entrada para o thread. 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 que a thread principal morra, ela cria e inicia a thread1 e a thread2. Quando o encadeamento principal atinge o final do método principal, três encadeamentos estão sendo executados em paralelo. Não há uma ordem específica na qual os encadeamentos fornecem saída. Uma vez que o encadeamento é iniciado, é difícil decidir a ordem em que eles serão executados. Eles são executados de forma independente.

Quais são as semelhanças entre Runnable e Thread?

Ambos estão usando para criar uma thread em Java

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

Runnable vs Thread

Runnable é uma interface em Java para criar uma thread que permite que várias threads compartilhem o mesmo objeto de thread. A thread é uma classe em Java para criar uma thread onde cada thread tem um objeto único associado a ela.
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.
Extensão da capacidade
Depois de implementar a interface Runnable, ela pode estender uma classe. Heranças múltiplas não são suportadas em Java. Após estender a classe Thread, ela não pode estender nenhuma outra classe.
Manutenção do código
Interface executável torna o código mais fácil de manter. Na classe Thread, a manutenção é demorada.

Resumo – Executável vs Tópico

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 Thread Class. É fácil estender a classe Thread, mas não é uma prática melhor de Programação Orientada a Objetos. Ao implementar Runnable, muitos threads podem compartilhar o mesmo objeto de thread enquanto na extensão da classe Thread cada thread tem 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 de Runnable vs Thread

Você pode baixar a versão em PDF deste artigo e usá-lo para fins offline conforme nota de citação. Faça o download da versão em PDF aqui Diferença entre Runnable e Thread

Recomendado: