Escolar Documentos
Profissional Documentos
Cultura Documentos
4) Join - A thread que chama pthread_join espera a terminação da thread com id informado.
O status de saída da thread é armazenado em retval.
int pthread_join(
pthread_t thread, // id da thread
void **retval // status de retorno
);
5) Exit - termina a execução da thread que chamou pthread_exit
void pthread_exit(
void *retval // status de retorno
);
Exemplo:
#include <pthread.h>
#include <iostream>
using namespace std;
Saída na tela:
6) Para criar um número maior de threads que executam a mesma rotina é necessário utilizar
uma estrutura de repetição.
// neste for serão criadas NUM_THREADS executando a mesma tarefa
(PrintHello)
for (t=0; t<NUM_THREADS; t++){
rc = pthread_create(&threads[t], NULL, PrintHello, (void*)t);
}
7) Para passar mais argumentos para a rotina pode-se usar vetor ou registro.
--> Utilizando vetor
#include <pthread.h>
#include <iostream>
#include <sys/time.h>
#define NUM_THREADS 4