
ede_fig
(usa Ubuntu)
Enviado em 01/12/2009 - 08:58h
Caros amigos,
Tenho uma grande duvida, sou iniciante em Linux, foi me passado o seguinte exercicio:
#include <stdio.h>
#include <pthread.h>
void *imprime_mensagem (void *ptr);
int main()
{
pthread_t t1, t2;
char *msg1 = "primeiro";
char *msg2 = "segundo";
pthread_create(&t1, NULL, imprime_mensagem, (void*)msg1);
pthread_create(&t2, NULL, imprime_mensagem, (void*)msg2);
return 0;
}
void *imprime_mensagem(void *ptr)
{
char *mensagem = (char *)ptr;
printf("%s ", mensagem);
return NULL;
}
Não entendi oque acontece pois tem erros a serem visto, mas quando retiro as linhas
pthread_create(&t1, NULL, imprime_mensagem, (void*)msg1);
pthread_create(&t2, NULL, imprime_mensagem, (void*)msg2);
Ele chega a roda e aparece a frase primeiro segundo.
Alguem pode me ajudar.
abraços