gallois
(usa Debian)
Enviado em 06/10/2008 - 09:54h
info libc tem todas as informações sobre pthreads
para conferir se deu erro,
pthread_t t1;
int r;
r = pthread_create(&t1, NULL, thread_routine, NULL);
if(r) {
/* seu tratamento do erro */;
}
pthread_create retorna um valor diferente de zero em caso de erro, use isso a seu favor =]
esse programa cria duas threads, uma passando como argumento *msg1 e a outra *msg2
as rotinas que elas executam é a mesma, no caso, apenas imprimem uma mensagem na tela, uma parte da mensagem sendo o argumento passado à elas. depois a thread encerra
quando se trabalha com pthreads, você não passa o argumento na mesma chamada do nome da rotina, como você deve ter percebido no pthread_create. o terceiro argumento é o nome da rotina e o quarto é uma void *arg onde você deve fazer todas as conversões necessárias. caso deseje passar vários argumentos, use uma struct.
mas o código tá bem simples e intuitivo. dê uma olhada na info libc para entender a chamada da função pthread_create e não tem muito o que dizer!
abracos