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