A maior rede de estudos do Brasil

threads

O que são threads?


5 resposta(s) - Contém resposta de Especialista

User badge image

RD Resoluções Verified user icon

Há mais de um mês

Um thread é um conjunto independente de valores para os registradores do processador (para um único núcleo). Ele também inclui o Stack Pointer, que é melhor apontar para uma área exclusiva de memória para cada thread, ou então eles interferirão uns com os outros. Threads são a unidade de software afetada pelo fluxo de controle (chamada de função, loop, goto), porque essas instruções operam no Indicador de Instrução e pertencem a um segmento específico.


Os threads geralmente são planejados de acordo com algum esquema de priorização (embora seja possível projetar um sistema com um encadeamento por núcleo de processador, em cujo caso cada encadeamento está sempre em execução e nenhum planejamento é necessário). De fato, o valor do ponteiro de instrução e da instrução armazenada nesse local é suficiente para determinar um novo valor para o ponteiro de instrução.


Para a maioria das instruções, isso simplesmente avança o IP pelo tamanho da instrução, mas as instruções de fluxo de controle alteram o IP de outras maneiras previsíveis. A sequência de valores que o IP assume forma um caminho de execução tecendo através do código do programa, dando origem ao nome "thread".

Um thread é um conjunto independente de valores para os registradores do processador (para um único núcleo). Ele também inclui o Stack Pointer, que é melhor apontar para uma área exclusiva de memória para cada thread, ou então eles interferirão uns com os outros. Threads são a unidade de software afetada pelo fluxo de controle (chamada de função, loop, goto), porque essas instruções operam no Indicador de Instrução e pertencem a um segmento específico.


Os threads geralmente são planejados de acordo com algum esquema de priorização (embora seja possível projetar um sistema com um encadeamento por núcleo de processador, em cujo caso cada encadeamento está sempre em execução e nenhum planejamento é necessário). De fato, o valor do ponteiro de instrução e da instrução armazenada nesse local é suficiente para determinar um novo valor para o ponteiro de instrução.


Para a maioria das instruções, isso simplesmente avança o IP pelo tamanho da instrução, mas as instruções de fluxo de controle alteram o IP de outras maneiras previsíveis. A sequência de valores que o IP assume forma um caminho de execução tecendo através do código do programa, dando origem ao nome "thread".

User badge image

Thiago de Paiva Pires

Há mais de um mês

 Thread e uma Linha ou Encadeamento de execução, é uma forma de um processo dividir a si mesmo em duas ou mais tarefas que podem ser executadas concorrentemente. O suporte à thread é fornecido pelo próprio sistema operacional, no caso da linha de execução ao nível do núcleo ou como se diz no nivel do kernel, ou implementada através de uma biblioteca de uma determinada linguagem, no caso de uma User-Level Thread (ULT).

Uma thread permite, por exemplo, que o usuário de um programa utilize uma funcionalidade do ambiente enquanto outras linhas de execução realizam outros cálculos e operações.

Em hardwares equipados com uma única CPU, cada thread é processada de forma aparentemente simultânea, pois a mudança entre uma thread e outra é feita de forma tão rápida que para o utilizador isso está acontecendo paralelamente. Em hardwares com múltiplos CPUs ou multi-cores, as threads são realizadas realmente de forma simultânea;

Os sistemas que suportam apenas uma única thread (em real execução) são chamados de monothread enquanto que os sistemas que suportam múltiplas threads são chamados de multithread.

User badge image

Andre Smaira

Há mais de um mês

Um thread é um conjunto independente de valores para os registradores do processador (para um único núcleo). Ele também inclui o Stack Pointer, que é melhor apontar para uma área exclusiva de memória para cada thread, ou então eles interferirão uns com os outros. Threads são a unidade de software afetada pelo fluxo de controle (chamada de função, loop, goto), porque essas instruções operam no Indicador de Instrução e pertencem a um segmento específico.


Os threads geralmente são planejados de acordo com algum esquema de priorização (embora seja possível projetar um sistema com um encadeamento por núcleo de processador, em cujo caso cada encadeamento está sempre em execução e nenhum planejamento é necessário). De fato, o valor do ponteiro de instrução e da instrução armazenada nesse local é suficiente para determinar um novo valor para o ponteiro de instrução.


Para a maioria das instruções, isso simplesmente avança o IP pelo tamanho da instrução, mas as instruções de fluxo de controle alteram o IP de outras maneiras previsíveis. A sequência de valores que o IP assume forma um caminho de execução tecendo através do código do programa, dando origem ao nome "thread".

User badge image

Andre Smaira

Há mais de um mês

Sistemas Operacionais I


Um thread é um conjunto independente de valores para os registradores do processador (para um único núcleo). Ele também inclui o Stack Pointer, que é melhor apontar para uma área exclusiva de memória para cada thread, ou então eles interferirão uns com os outros. Threads são a unidade de software afetada pelo fluxo de controle (chamada de função, loop, goto), porque essas instruções operam no Indicador de Instrução e pertencem a um segmento específico.


Os threads geralmente são planejados de acordo com algum esquema de priorização (embora seja possível projetar um sistema com um encadeamento por núcleo de processador, em cujo caso cada encadeamento está sempre em execução e nenhum planejamento é necessário). De fato, o valor do ponteiro de instrução e da instrução armazenada nesse local é suficiente para determinar um novo valor para o ponteiro de instrução.


Para a maioria das instruções, isso simplesmente avança o IP pelo tamanho da instrução, mas as instruções de fluxo de controle alteram o IP de outras maneiras previsíveis. A sequência de valores que o IP assume forma um caminho de execução tecendo através do código do programa, dando origem ao nome "thread".

Essa pergunta já foi respondida por um dos nossos especialistas