Buscar

slides pthreads

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Programação Concorrente
Pthreads
Prof. Eduardo Alchieri
 
Ferramentas
 Linguagem de programação C (Pthreads)
 gcc – GNU Compiler Collection
 Qualquer editor de texto
 
O Modelo POSIX Threads 
(Pthreads)
 Modelo que suporta a criação e manipulação de tarefas cuja 
execução possa ser intercalada ou executada 
concorrentemente.
 O modelo Pthreads pertence à família POSIX (Portable 
Operating System Interface) e define um conjunto de rotinas 
(biblioteca) para manipulação de threads.
 As definições da biblioteca Pthreads encontram-se em 
'pthread.h' e sua implementação em 'libpthread.so'. 
 Para compilar um programa com threads é necessário 
inlcuir o cabeçalho '#include <pthread.h>' no início do 
programa e compilá-lo com a opção '-lpthread'.
 
Estruturas e Funções Usadas
 Biblioteca pthread.h
 pthread_t (struct)
 pthread_create
 pthread_join
 pthread_kill
 pthread_exit
 Outras: man pthreads
 
Criação de Threads
 Quando o programa inicia, uma thread (main 
thread) é criada. Após isso, outras threads 
podem ser criadas através da função:
 
Criação de Threads
 Exemplo:
 
Criação de Threads
 Exemplo (passando parâmetros):
 
Sincronização
 Como sincronizar as threads ?
 Mutexes:
 Operações:
 
Sincronização
 Como sincronizar as threads ?
 Variáveis condição:
 pthread_cond_t (estrutura)
 Operações:
 pthread_cond_wait (pthread_cond_t * cond, pthread_cond_t * mutex)
 pthread_cond_signal(pthread_cond_t * cond)
 pthread_cond_broadcast(pthread_cond_t * cond)
 
Sincronização
 Como sincronizar as threads ?
 Semáforos ('semaphore.h'):
 Operações:
 
Produtor/Consumidor
 
1ª Tentativa de solução
 
1ª Tentativa de solução
 
1ª Tentativa de solução
 
1ª Tentativa de solução
Qual é o problema com o programa anterior ?
 
2ª Tentativa de solução
 
2ª Tentativa de solução
 
2ª Tentativa de solução
 
2ª Tentativa de solução
Qual é o problema com o programa anterior ?
 
3ª Tentativa de solução
 
3ª Tentativa de solução
 
3ª Tentativa de solução
 
3ª Tentativa de solução
Qual é o problema com o programa anterior ?
●NENHUM! Agora está correto!!!
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23

Outros materiais