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.