Arvorezinha paralela – pthreads
Boas. Como meu primeiro post neste belíssimo blog decidi fazer uma arvorezinha nunca vista. Uma Arvorezinha paralela usando pthreads do C. Completamente inutil....
/* * arvorezinha_pthread.c * * Created on: 28/5/2010 * Author: João Saramago * Versão da arvorezinha paralela com pthreads */ #include <pthread.h> #include <stdlib.h> #include <stdio.h> #define LINHAS 5 void* arvorezinha(void* arg){ int i; int n=*(int*)arg; char* out = malloc(sizeof(char)*n+1); for (i = 0; i <n; ++i) { *(out+i)='*'; } *(out+i)='\0'; return (void*)out; } int main(int argc, char **argv) { int i; pthread_t t[LINHAS]; for(i=1;i<=LINHAS;i++){ pthread_create(&t[i-1],NULL,arvorezinha,&i); } for(i=0;i<LINHAS;i++){ void* out; pthread_join(t[i],&out); printf("%s\n",(char*)out); free(out); } }
Bom rácio de qualidade/inutilidade para um principiante, parabéns.