O que é multithreading?
No mundo da computação, o multithreading é a tarefa de criar um novo encadeamento de execução dentro de um processo existente, em vez de iniciar um novo processo para iniciar uma função. Essencialmente, a tarefa de multithreading destina -se a tornar o uso mais sábio dos recursos do computador, permitindo que recursos que já estão em uso para serem utilizados simultaneamente por uma ligeira variante do mesmo processo. O conceito básico de multithreading existe há algum tempo, mas ganhou mais atenção à medida que os computadores se tornaram mais comuns durante a década dos anos 90.
Esta forma de multiplexação por divisão de tempo cria um ambiente em que um programa é configurado para permitir que os processos bifurquem ou se dividam em dois ou mais threads de execução. A execução paralela dos threads dentro do mesmo programa é frequentemente apontada como um uso mais eficiente dos recursos do sistema de computador, especialmente com sistemas de desktop e laptop. Ao permitir um programa para lidar com várias tarefas com um modelo multithreading, o sistemaNão precisa permitir que dois programas separados iniciem dois processos separados e precisem usar os mesmos arquivos ao mesmo tempo.
Embora existam muitos proponentes de multithreading, há também aqueles que entendem o processo como potencialmente prejudicial à tarefa de calcular. O fatiamento de tempo que é inerente ao permitir que um garfo ou thread se divida de um processo em execução seja pensado por alguns para configurar circunstâncias em que pode haver algum conflito entre threads ao tentar compartilhar caches ou outros recursos de hardware. Também existe alguma preocupação de que a ação do multithreading possa diminuir o tempo de resposta de cada encadeamento no processo, negando efetivamente qualquer economia de tempo gerada pela configuração.
No entanto, o Multithreading continua sendo uma das opções viáveis na multitarefa de computador. Não é incomum para um processador permitir ambosUltithreading, bem como a criação de novos processos para lidar com várias tarefas. Isso permite ao usuário final todos os benefícios da troca de contexto, enquanto ainda faz o melhor uso dos recursos disponíveis.