THREADS
O que é THREAD?
Thread é uma forma de um processo se dividir em duas ou mais tarefas simultaneas
Existem os sistemas que suportam apenas uma thread, esse tipo sistema é chamado de monothread. O sistema que suporta várias threads simultaneas é chamado de multithreads.
Um dos benefícios de se utilizar a divisão de processos por thread é que no caso de uma espera por dispositivo ou recurso do sistema o processo não fica totalmente parado, uma vez que está divido em linhas de tarefas.
Uma thread contém um conjunto de comportamentos, tais como:
thread-create: permite que a thread crie uma outra thread;
thread-join: permite que uma thread aguarde outra thread em processo para sincronizar;
thread-yield: permite que a thread desista da CPU por não ser mais necessário o processamento associado à ela ou por solicitação do usuário
Estados de uma thread:
Uma thread pode assumir 5 estados básicos que são:
criação: o processo pai cria a thread que vai ser levada a fila de pronto;
execução: estado que a thread está utilizando a cpu;
pronta: a thread avisa a cpu que entrou na fila de pronto aguardando para ser executada;
Bloqueada: bloqueada pela cpu, aguardando algum recurso do sistema;
Terminada: libera a alocação de memoria da pilha de execução de processos;
Categorias de threads:
Existem duas categorias uma a nível de usuário chamada ULT(user level thread) e a categoria a nível de kernel chamada KLT(kernel level thread)
Fontes portaljava.com.br, Arquitetura de S.O. e wikipedia.org

Leave a Reply