A cosa serve un semaforo in informatica?
a controllare l’accesso concorrente a una risorsa condivisa.
Qual è il problema dei filosofi a cena?
condividono risorse (forchette) e possono bloccarsi.
Cos’è una lista in Python?
una struttura ordinata e modificabile di elementi.
Cos’è una race condition in termini concreti?
è un errore di programmazione che si verifica quando due o più thread o processi accedono contemporaneamente a una risorsa condivisa
Qual è il problema del barbiere dormiente?
gestire clienti e risorse limitate (sedie) evitando attese inutili e conflitti.
Cosa significa che Python è “dinamicamente tipizzato”?
il tipo è associato all’oggetto, non alla variabile, e può cambiare.
Cos’è un deadlock?
è una situazione di blocco reciproco in cui due o più processi o thread rimangono in attesa infinita di risorse occupate l'uno dall'altro.
Qual è una soluzione semplice per evitare il deadlock (es. filosofi a cena)?
imporre un ordine (es. prendere sempre prima la forchetta sinistra).
Perché due processi possono causare perdita di dati?
accesso concorrente non sincronizzato.
Cos’è un mutex?
un meccanismo di mutua esclusione: una sola entità alla volta.
Qual è una strategia concreta per evitare il deadlock tra più risorse?
imporre un ordine fisso di acquisizione delle risorse.
4 strutture dati fondamentali di Python
Cos’è uno spinlock?
Un meccanismo di sincronizzazione in cui un thread aspetta attivamente finché la risorsa si libera.
Qual è una soluzione generale alle race condition?
sincronizzazione (mutex, semafori) o eliminare la condivisione.
Cos’è una tupla in Python e qual è la sua caratteristica principale rispetto a una lista?
è una sequenza ordinata ma immutabile, quindi non può essere modificata dopo la creazione.