Angelovsk

561 palavras 3 páginas
THREADS
ÂNGELO ASTÓRIA; GABRIEL VITOR; NÁTHALY AMORIM;
LUCAS DE JESUS; THAYWAN TALLES

Conceito de thread


Tarefas que podem ser executadas concorrencialmente



Associar mais de um fluxo de execução a um processo



Monothread e Multithread

Vantagens


São processos leves




Tempo de criação menor;





Troca de contexto mais rápida;
Diminui o tempo de resposta do sistema;

Usa eficientemente as arquiteturas multiprocessadas/multi- cores

Subprocessos x Thread
Subprocessos

– processos criados dentro de uma estrutura hierárquica. Processo criador é chamado de pai, os subprocessos são chamados de filhos.
Thread

– possui seu próprio contexto de hardware, porém compartilha o mesmo contexto de software e espaço de endereçamento.

Utilização de threads – Exemplos:


Processador de texto – podem existir threads para:



Refrescar o écran



Salvar o documento automaticamente





Ler input do teclado

Reformatar o documento, etc.

Jogo - dois tipos de threads


“Imagem” – rotinas de desenho



“Áudio” – Saída de áudio

Modelo clássico


por cada processo existe uma só thread



neste caso processo e thread correspondem ao mesmo conceito Processo 1

Thread 1

Processo 2

Thread 2

Processo 3

Thread 3

Threads POSIX pthread_create: para criação do novo thread - contém parâmetros, ex: nome do procedimento a executar; pthread_exit: termina execução e não é mais escalonável; pthread_join: aguarda outro thread terminar (se bloqueia enquanto isso); pthread_yield: o thread desiste da CPU para deixar outro thread executar: não há interrupção de relógio entre os threads como há entre os processos; pthread_attr_init: cria estrutura de atributos (ex: prioridade), pthread_attr_destroy: libera memória dos atributos.

Ambientes Monothread
Um processo suporta apenas um programa no seu espaço de endereçamento. Problemas: lentidão, maior

Relacionados