TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Threads

Seminário: Threads. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  7/4/2014  •  Seminário  •  623 Palavras (3 Páginas)  •  487 Visualizações

Página 1 de 3

Threads

• O que é?

Thread, encadeamento de execução em português, é uma forma de dividir o processador e, ou, o sistema operacional em diversos processos distintos, fazendo com que estes trabalhem de forma simultânea, ao mesmo tempo. Normalmente este serviço é fornecido pelo próprio SO(Sistema Operacional).

• Categorias dos threads

Os Threads podem ser divididos em duas categorias:

- ULT (User-Level Thread): A ULT (Thread em modo de usuário, em português), suporta aplicações sem conhecimento do núcleo, e são aplicados por pacotes de rotina (códigos para criar, terminar...). Sua vantagem em relação ao KLT (Kernel-Level Thread) é que este pode ser utilizado mesmo em Sos que não suportam nativamente este recurso, além de serem mais rápidos por não terem acesso direto ao núcleo (kernel)

Exemplo de funcionamento do ULT

-KLT(Kernel-Level Thread): A KLT(Thread em Modo Kernel, em português), possui todos os processo atrelados ao SO, dessa forma ele não pode ser realizado através do código do próprio programa. Sua principal vantagem em relação ao ALT é a possibilidade de bloquear uma linha de processos sem precisar bloquear todos, e sua principal desvantagem é o aumento do overhead (super aquecimento, em português).

Exemplo de funcionamento do KLT

Threads no Linux

As threads, no Linux, software de código aberto desenvolvido por Linus Torvalds, podem ser visualizadas através do comando top (comando do Linux que mostra todos os processos e as threads que estão rodando no SO), e em seguida pressionar Shift+H.

A primeira forma de manipular os threads no Linux foi o POSIX Thread, conhecido também como Pthreads, em seguida doi implementado uma expnação para o Pthreads, o LinuxThreads, que logo teve varios problemas e teve que ser substiuido pelo Native POSIX Thread Library.

O Native POSIX Thread Library (PNTL) usa uma abardagem semelhante ao do seu antecessor,entretanto neste novo sistema é requerido o suporte do kernel. Com o uso do PNTL os tópicos criados pelo usuário correspondem com as entidades escalonáveis do kernel.

O Linux não faz distinção entre processos e threads,assim no Linux as duas coisas são chamadas de “tarefas”

# Include <pthread.h>

# Include

# Include

# Include <assert.h>

# Define NUM_THREADS 5

void * TaskCode (void * argumento)

{

int tid;

tid = * ((int *) argumento);

printf ("Olá mundo, sou eu, linha% d \ n!", tid);

/ * Opcionalmente: inserir coisas mais úteis aqui * /

retornar NULL;

}

int main

...

Baixar como (para membros premium)  txt (3.7 Kb)  
Continuar por mais 2 páginas »
Disponível apenas no TrabalhosGratuitos.com