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

~ by leoseagal on March 28, 2007.

Leave a Reply