- Codice: Seleziona tutto
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
void* Fuffa();
void* DueFigli()
{
pthread_t tid11, tid12;
pthread_create(&tid11, NULL, Fuffa, NULL);
pthread_create(&tid12, NULL, Fuffa, NULL);
sleep(15);
pthread_join(tid11, NULL);
pthread_join(tid12, NULL);
pthread_exit(0);
}
void* Fuffa()
{
printf("Ciao i'm granson\n");
sleep(15);
pthread_exit(0);
}
int main()
{
printf("Main %d \n",getpid());
pthread_t tid1, tid2,tid3;
pthread_create(&tid1, NULL, DueFigli, NULL);
printf("tid1\n");
pthread_create(&tid2, NULL, DueFigli, NULL);
printf("tid2\n");
pthread_create(&tid3, NULL, Fuffa, NULL);
printf("tid3\n");
sleep(15);
pthread_join(tid1, NULL);
pthread_join(tid3, NULL);
pthread_join(tid3, NULL);
}
e ho ottenuto questo risultato dalla command line:

come potete notare sono stati creati correttamente i sette thread, però non riesco a visualizzare l'albero della famiglia. mi escono tutti figli del processo padre. come mai? sbaglio comando?
p.s. continuo a non capire il motivo per cui mi vengono tolti punti reputation quando porgo domande, non si può non sapere su questo forum?

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)

