Knowee
Questions
Features
Study Tools

Come può un thread ritornare un valore in una variabile "a" al main?Scegli un'alternativa:a. tramite pthread_join((void *) &a);b. tutte le risposte indicate sono correttec. tramite pthread_exit((void *) &a);d. tramite return(a)

Question

Come può un thread ritornare un valore in una variabile "a" al main?Scegli un'alternativa:a. tramite pthread_join((void *) &a);b. tutte le risposte indicate sono correttec. tramite pthread_exit((void *) &a);d. tramite return(a)

🧐 Not the exact question you are looking for?Go ask a question

Solution

Per rispondere a questa domanda, dobbiamo analizzare ciascuna delle opzioni fornite:

a. tramite pthread_join((void *) &a);

  • pthread_join è una funzione che attende la terminazione di un thread specificato. Tuttavia, la sintassi corretta per ottenere il valore di ritorno di un thread è pthread_join(thread, (void **) &a);, dove thread è il thread che stiamo aspettando. Quindi, questa opzione è parzialmente corretta ma non completamente.

b. tutte le risposte indicate sono corrette

  • Per determinare se questa opzione è corretta, dobbiamo verificare la correttezza delle altre opzioni.

c. tramite pthread_exit((void *) &a);

  • pthread_exit è una funzione che termina il thread chiamante e può passare un valore di ritorno. Tuttavia, la sintassi corretta per passare un valore è pthread_exit((void *) a);, dove a è il valore che vogliamo restituire. Quindi, questa opzione è parzialmente corretta ma non completamente.

d. tramite return(a)

  • Nei thread creati con la libreria pthread, non si utilizza return(a) per restituire un valore. Invece, si utilizza pthread_exit per terminare il thread e restituire un valore.

Considerando le analisi sopra, nessuna delle opzioni è completamente corretta. Tuttavia, se dovessimo scegliere l'opzione che si avvicina di più alla correttezza, sarebbe la (b), poiché le altre opzioni contengono elementi di verità ma non sono completamente corrette da sole.

This problem has been solved

Similar Questions

Quale funzione utilizzeresti per garantire che un thread aspetti un altro thread?Scegli un'alternativa:a. pthread_sync()b. pthread_block()c. pthread_wait()d. pthread_join()

Qual è il modo corretto per passare un argomento a un thread in C?Scegli un'alternativa:a. Passare una stringab. Passare un valore interoc. Passare un arrayd. Passare un puntatore void

Qual è il modo corretto per passare un argomento a un thread in C++?Scegli un'alternativa:a. Passare un valore interob. Passare un puntatore voidc. Passare una stringad. Usare std::ref per passare una variabile per riferimento

Data la seguente porzione di codicevoid *stampa(void *parametro){   sleep(2);   cout << "Ciao sono il thread Pippo.\n";}int main(int na, char **va){   pthread_t tid;   pthread_create(&tid, 0, stampa, 0);   cout << "Sono il MAIN thread Pluto\n";}L’output del programma è:Scegli un'alternativa:a. Ciao sono il thread PippoSono il Main thread Plutob. Sono il Main thread Plutoc. Sono il Main thread PlutoCiao sonoil thread Pippod. Ciao sono il thread Pippo

Con riferimento ai parametri della funzione pthread_create() indica l'espressione corretta:Scegli un'alternativa:a. il secondo è il puntatore al parametro da passare al threadb. il primo è il puntatore ad una variabile pthread_tc. il terzo è NULL se si vogliono indicare gli attributi di default del threadd. il quarto è il puntatore alla funzione del thread

1/2

Upgrade your grade with Knowee

Get personalized homework help. Review tough concepts in more detail, or go deeper into your topic by exploring other relevant questions.