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()
Question
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()
Solution
La risposta corretta è d. pthread_join(). Questa funzione è utilizzata per far sì che un thread aspetti la terminazione di un altro thread.
Similar Questions
Qual è la funzione che tenta di bloccare un mutex e restituisce immediatamente se il mutex è già bloccato in C?Scegli un'alternativa:a. pthread_mutex_trylock()b. pthread_mutex_lock()c. pthread_mutex_timedlock()d. pthread_mutex_wait()
Cosa stampa il seguente codice? #include <stdio.h>#include <pthread.h>#define NUM_THREADS 3void* threadFunc(void* arg) { int id = *(int*)arg; printf("Thread %d\n", id); return NULL;}int main() { pthread_t threads[NUM_THREADS]; int thread_ids[NUM_THREADS]; for (int i = 0; i < NUM_THREADS; i++) { thread_ids[i] = i; pthread_create(&threads[i], NULL, threadFunc, &thread_ids[i]); } for (int i = 0; i < NUM_THREADS; i++) { pthread_join(threads[i], NULL); } return 0;}Scegli un'alternativa:a. Stampa "Thread 0\nThread 1\nThread 2\n" in ordine casuale.b. Non stampa nulla.c. Stampa "Thread 0\nThread 1\nThread 2\n" in questo ordine.d. Stampa "Thread 2\nThread 1\nThread 0\n" in questo ordine.
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
Qual è il comportamento del seguente codice? #include <stdio.h>#include <pthread.h>pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;void* threadFunc(void* arg) { pthread_mutex_lock(&mutex); printf("Thread is running\n"); pthread_mutex_unlock(&mutex); return NULL;}int main() { pthread_t thread; pthread_create(&thread, NULL, threadFunc, NULL); pthread_mutex_lock(&mutex); printf("Main thread\n"); pthread_mutex_unlock(&mutex); pthread_join(thread, NULL); return 0;}Scegli un'alternativa:a. Stampa "Main thread" seguito da "Thread is running".b. Genera un deadlock.c. Stampa "Thread is running" seguito da "Main thread".d. Stampa "Thread is running" e "Main thread" in ordine casuale.
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.