1) La programmazione concorrente si riferisce a eseguire più operazioni contemporaneamente, ma non necessariamente nello stesso istante di tempo. a) VERO b) FALSO 2) In un'applicazione concorrente, i thread devono sempre condividere lo stesso spazio di memoria. a) VERO b) FALSO 3) Le condizioni di gara (race condition) si verificano quando due o più thread accedono a una risorsa condivisa senza una sincronizzazione adeguata, causando risultati imprevedibili. a) VERO b) FALSO 4) Un deadlock si verifica quando due o più thread sono in attesa di risorse che sono detenute da altri thread, creando una situazione in cui nessuno può proseguire. a) VERO b) FALSO 5) La programmazione concorrente può essere utilizzata anche con processi multipli, non solo con thread. La gestione della concorrenza può avvenire sia a livello di thread che di processi. a) VERO b) FALSO 6) Quale tra i seguenti è un metodo comune per evitare le condizioni di gara in un'applicazione concorrente? a) Utilizzare variabili globali b) Sincronizzare l'accesso alle risorse condivise c) Ignorare i conflitti tra thread d) Creare più thread per ogni risorsa condivisa 7) Cos'è un "deadlock"? a) Quando un thread esegue una funzione senza interruzione b) Quando due o più thread attendono l'uno per l'altro per liberare risorse, bloccando l'esecuzione c) Quando un thread esegue codice in parallelo con altri thread senza interferenze d) Quando un thread non può essere più eseguito a causa di un errore nel codice 8) Quale delle seguenti affermazioni riguardo al "mutex" è corretta? a) Un mutex è un tipo di variabile che consente l'accesso non sincronizzato a una risorsa condivisa b) Un mutex impedisce l'accesso concorrente a una risorsa da parte di più thread c) I mutex non sono mai necessari in un programma concorrente d) I mutex vengono utilizzati solo per sincronizzare l'accesso a variabili locali 9) Cosa succede quando un thread "bloccato" attende una risorsa che non può mai essere liberata? a) Il thread riprenderà automaticamente quando la risorsa diventa disponibile b) Si verifica un deadlock c) Il thread sarà terminato e rimosso dalla memoria d) Il thread si sospende in modo indefinito senza alcun impatto 10) Quale delle seguenti tecniche può essere usata per gestire la concorrenza tra processi che non condividono memoria? a) Utilizzare mutex e semafori b) Utilizzare la memoria condivisa c) Usare comunicazione interprocesso (IPC), come le pipe o i socket d) Non utilizzare alcuna forma di sincronizzazione

Leaderboard

Visual style

Options

Switch template

Continue editing: ?