Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

thread, cosa non mi è chiaro?

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

1
voti

[1] thread, cosa non mi è chiaro?

Messaggioda Foto Utentetorla91 » 28 mag 2015, 22:05

Buona sera a tutti, oggi ci è stato consegnato un esercizio di questo tipo:
Immagine

Ora, questo tipo di architettura è realizzabile anche con l' uso di thread?
non si può fare solamente con i processi? a cosa mi serve creare una cosa simile?
Per rispondere alla domanda basta creare un altro thread dentro la funzione passata al thread padre?

Premesso che questo tipo di struttura l' ho sempre fatta con i fork()!

Grazie, ovviamente stiamo parlando di Linux.
Avatar utente
Foto Utentetorla91
45 1 6
Frequentatore
Frequentatore
 
Messaggi: 100
Iscritto il: 8 feb 2012, 19:10

1
voti

[2] Re: thread, cosa non mi è chiaro?

Messaggioda Foto Utentesimo85 » 28 mag 2015, 22:21

Anche i thread hanno degli identificatori.

Per esempio vedi le funzioni gettid e pthread_self.

torla91 ha scritto:Per rispondere alla domanda basta creare un altro thread dentro la funzione passata al thread padre?

Da quello che si capisce dal testo del problema, si, pero fa riferimento a processi... Non è molto chiaro.

Ciao.
Simo
Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

0
voti

[3] Re: thread, cosa non mi è chiaro?

Messaggioda Foto Utentealdofad » 28 mag 2015, 22:35

torla91 ha scritto:Ora, questo tipo di architettura è realizzabile anche con l' uso di thread?

Ovvio. E' ciò che ti viene chiesto.

torla91 ha scritto:non si può fare solamente con i processi?

Non sai la differenza tra thread e processo allora.

torla91 ha scritto:a cosa mi serve creare una cosa simile?

Forse a superare un esame?

torla91 ha scritto:Per rispondere alla domanda basta creare un altro thread dentro la funzione passata al thread padre?

O sei un troll o non hai letto la traccia

torla91 ha scritto:Grazie, ovviamente stiamo parlando di Linux.

No, si parla di C.
Avatar utente
Foto Utentealdofad
853 4 5
Sostenitore
Sostenitore
 
Messaggi: 689
Iscritto il: 21 gen 2014, 1:07
Località: Treviso

0
voti

[4] Re: thread, cosa non mi è chiaro?

Messaggioda Foto Utentetorla91 » 29 mag 2015, 0:31

Foto Utentealdofad sei un grande! scusami ma non colgo l' utilità della tua risposta, se devi rispondermi con risposte inutili preferisco che tu stia in silenzio.

Foto Utentesimo85, passando alle persone serie, anche tu hai colto l' ambiguità della richiesta! io a questo punto non saprei come fare con precisione, con il comando pstree non mi viene stampato il classico albero di processi ma solo una lista di thread che non rispecchia il mio codice.

in pseudo-code io faccio così:
Codice: Seleziona tutto
crea_3d_1
crea_3d_2
crea_3d_3

funzione_del_3d_1(){
crea_3d_son_1
crea_3d_son_2
}
funzione_del_3d_2(){
crea_3d_son_1
crea_3d_son_2
}
funzione_del_3d_3(){
do_nothing();
}


è così che dovrei fare?

grazie e buonasera
Avatar utente
Foto Utentetorla91
45 1 6
Frequentatore
Frequentatore
 
Messaggi: 100
Iscritto il: 8 feb 2012, 19:10

0
voti

[5] Re: thread, cosa non mi è chiaro?

Messaggioda Foto Utentesimo85 » 29 mag 2015, 0:58

Da quello che intuisco leggendo il testo dell'esercizio, si chiede di creare um thread principale, chiamiamolo thread padre, che a sua volta crea altri thread come da schema.

Ovviamente poi bisogna tenere in conto la sincronizzazione dei thread etc.

Prima di cominciare a scrivere il programma, forse è meglio chiedere al professore se in effetti abbiamo capito bene cosa richiede l'esercizio, dato che si fa riferimento ai thread e processi assieme.

Ciao.
Simo
Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

0
voti

[6] Re: thread, cosa non mi è chiaro?

Messaggioda Foto Utentetorla91 » 29 mag 2015, 14:54

Partendo dal fatto che il professore non risponde alle domande e il tema dell esercitazione sono i thread, secondo me bisogna usare solamente i 3d appunto.
solo che non capisco a cosa mi serva fare un thread nel thread!
Avatar utente
Foto Utentetorla91
45 1 6
Frequentatore
Frequentatore
 
Messaggi: 100
Iscritto il: 8 feb 2012, 19:10

1
voti

[7] Re: thread, cosa non mi è chiaro?

Messaggioda Foto Utentesimo85 » 29 mag 2015, 14:57

torla91 ha scritto:solo che non capisco a cosa mi serva fare un thread nel thread!

Può servirti a capire come funziona la sincronizzazione dei thread, che in molte applicazioni nella realtà è molto utile.
Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

3
voti

[8] Re: thread, cosa non mi è chiaro?

Messaggioda Foto Utentealdofad » 29 mag 2015, 15:08

Il modo più facile è che ogni thread metta un elemento in una blocking queue al termine del proprio lavoro. Il thread principale (volgarmente il processo principale) subito dopo aver lanciato i threads, passando loro in creazione la blocking queue, esegue un ciclo di recupero e cancellazione dalla blocking queue di tanti elementi pari al numero di threads. Trattandosi di una blocking queue, il thread principale rimarrà in attesa fino all'ultimo elemento prima di proseguire terminando.
Avatar utente
Foto Utentealdofad
853 4 5
Sostenitore
Sostenitore
 
Messaggi: 689
Iscritto il: 21 gen 2014, 1:07
Località: Treviso

0
voti

[9] Re: thread, cosa non mi è chiaro?

Messaggioda Foto Utentetorla91 » 29 mag 2015, 15:42

Decisamente meglio, almeno iniziamo a capire la trattazzione. Dovrò usare una seria di pthread_join() e un po di
pthread_create() una dentro l altra !
Avatar utente
Foto Utentetorla91
45 1 6
Frequentatore
Frequentatore
 
Messaggi: 100
Iscritto il: 8 feb 2012, 19:10

0
voti

[10] Re: thread, cosa non mi è chiaro?

Messaggioda Foto Utentealdofad » 29 mag 2015, 15:58

Assolutamente no. La comodità della blocking queue sta proprio nel fatto che ti evita tutto quel lavoro "sporco".
poiché la blocking queue è ormai da svariati anni tra i package standard, hai tutto il diritto di usarla anche a fini scolastici. Ed è molto probabile che sarai tu ad insegnarla al tuo prof...
Avatar utente
Foto Utentealdofad
853 4 5
Sostenitore
Sostenitore
 
Messaggi: 689
Iscritto il: 21 gen 2014, 1:07
Località: Treviso

Prossimo

Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 18 ospiti