|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Sep 2005
Messaggi: 142
|
[C] Multithread
Ciao a tutti!!!
Ho iniziato veramente da poco a programmare i thread( qualche giorno ). Il problema e' questo: devo passare un numero da linea di comando e creare N thread che saranno inizializzati tutti con la stessa funzione. Finita la loro creazione devo mandarli in esecuzione. Dovrei poter distinguere un thread da l'altro in quanto devo farli dialogare tra di loro, ho scritto questo codice: code: pthread_t tid; for( int i = 0; i < N; i++ ) { pthread_create( &tid, NULL, &init, (void*) i ); } pthread_join( tid, &status ); Ho scritto solo la parte interessante e che non funziona. Come posso fare per risolvere il problema? Grazie!! |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7262
|
così a occhio non puoi fare il cast di "i" a (void *).. prova a farlo con "&i"
ps. però stai attento che i è una variabile locale.. non so che fine fa quando esce dal ciclo |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
|
Ciao,
l'osservazione di k0nt3 e' corretta, ma quel parametro e' quello dell'utente. Domanda: lo usi? Seconda domanda: hai riferito che non funziona. Puoi dare piu' spiegazioni? Non funziona perche' non si compila? Oppure si compila ma poi non parte? Oppure parte ma non crea i thread? Oppure resta bloccato? Terza (e ultima) domanda: ti serve eseguire la pthread_join() solo sull'ultimo thread creato? High Flying Sottovento |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Mar 2006
Città: Genova
Messaggi: 2457
|
Quote:
dovrebbe essere: int i = 0; for(i=0....) { } Ciao Se mi ricordo male salta la mia risposta
__________________
tag XBOX live Aldair74 Nick PSNRiordian Affari conclusi con: Anf3t4m1n Krocca magomagnani amoredipippa mone_82 raszagale bizzy89 Andrew_db |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Mar 2001
Città: Roma
Messaggi: 2532
|
ricordi bene... ma a volte dipende dal compilatore..
nella maggior parte dei casi è come dici tu... la dichiarazione và in testa al corpo funzione (o del blocco).. ciao |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Mar 2006
Città: Genova
Messaggi: 2457
|
Quote:
però questa di mettere le dichiarazioni in testa al blocco è una regola del C quindi penso che un compilatore c non debba permettere di fare una cosa del genere, infatti il dubbio che ho è che lui compili con un compilatore c++ un codice c. Cosa, a mio avviso, non bella
__________________
tag XBOX live Aldair74 Nick PSNRiordian Affari conclusi con: Anf3t4m1n Krocca magomagnani amoredipippa mone_82 raszagale bizzy89 Andrew_db |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:54.



















