tread
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 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.
Índice [esconder]
1 Exemplo
2 Particularidades
3 Estados de uma linha de execução
4 ULT e KLT
5 Escalonamento
6 Comparação entre linha de execução e Processo
7 Modelo de Geração de Multithreads
8 Cancelamento
9 Exemplos
9.1 Java
9.2 Java, exemplo simples em português
9.3 C
9.4 C++
9.5 Ruby
9.6 Delphi
10 Referências
Exemplo[editar | editar código-fonte]
Um exemplo simples seria um jogo, que pode ser modelado com linhas de execução diferentes, sendo uma para desenho de imagem e outra para áudio. Neste caso, há um thread para tratar rotinas de desenho e outro thread para tratar áudio; No ponto de vista do usuário, a imagem é desenhada ao mesmo tempo em que o áudio é emitido pelos alto-falantes; Porém, para sistemas com uma única CPU, cada linha de execução é processada por vez.
Particularidades[editar | editar código-fonte]
Cada thread tem o mesmo