Kandrade 7 Denunciar post Postado Janeiro 21, 2008 Mesmo caso do socket, esse código foi compilado no gcc do Linux, por isso não deve funcionar no windows. Foi um trabalho da faculdade do 5º período. #include <stdio.h> #include <pthread.h> #include <unistd.h> #include <signal.h> #include <wait.h> void *primeira_thread(void *arg); void *segunda_thread(void *arg); main() { int i; i=fork(); if(i==0) { int sinal; printf("Digite o valor de retorno do filho:\n"); scanf("%i",&sinal); system("clear"); exit (sinal); } else if(i>0) { pthread_t thread1, thread2; int iret1, iret2, status; wait (&status); if(WEXITSTATUS(status)==0){ printf("*********EXECUCAO DA PRIMEIRA THREAD************\n\n"); iret1 = pthread_create( &thread1, NULL, primeira_thread, NULL); } else if(WEXITSTATUS (status)==1){ printf("*********EXECUCAO DA SEGUNDA THREAD************\n\n"); iret2 = pthread_create( &thread2, NULL, segunda_thread, NULL); } exit(0); } } void *primeira_thread(void *arg) { int i; for(i=0;i<=100;i++){ if(i!=100) printf("%i - ", i); else printf("%i \n\n", i); } } void *segunda_thread(void *arg) { int i; for(i=100;i<=200;i++){ if((i%2)==0) { if(i!=200) printf("%i - ", i); else printf("%i \n\n", i); } } } Compartilhar este post Link para o post Compartilhar em outros sites