Stack

In informatica, uno stack è una struttura dati usata per memorizzare una raccolta di oggetti. I singoli elementi possono essere aggiunti e memorizzati in uno stack usando un'operazione push. Gli oggetti possono essere recuperati usando un'operazione pop, che rimuove un elemento dallo stack.

Quando un oggetto viene aggiunto a uno stack, viene collocato sopra tutti gli elementi inseriti in precedenza. Quando un elemento viene rimosso, può essere rimosso dalla parte superiore o inferiore dello stack. Uno stack in cui gli elementi vengono rimossi dalla parte superiore è considerato uno stack "LIFO" (Last In, First Out, ultimo a entrare, primo a uscire). Puoi immaginare uno stack LIFO come un mazzo di carte su cui appoggi singole carte, per poi pescare le carte dalla parte superiore. In uno stack "FIFO" (First In, First Out, primo a entrare, primo a uscire), gli elementi vengono rimossi dalla parte inferiore. Puoi immaginare uno stack FIFO come una fila in un distributore automatico, in cui gli articoli vengono distribuiti nell'ordine in cui sono stati inseriti nella macchina.

Gli stack hanno diverse applicazioni nella programmazione informatica. Gli stack LIFO, ad esempio, possono essere usati per recuperare oggetti usati di recente da una cache. Gli stack FIFO possono essere usati per assicurarsi che i dati vengano recuperati nell'ordine in cui sono stati inseriti, una funzione che può essere usata per elaborare dati in una coda.

Sebbene gli stack siano comunemente usati dai programmatori, in genere non li noterai mentre usi un programma. Questo perché la creazione degli stack e le operazioni push e pop vengono eseguite in background mentre è in esecuzione un'applicazione e non sono visibili all'utente. Tuttavia, se uno stack esaurisce la memoria, si verificherà un "overflow dello stack". Se il programma non lo gestisce correttamente, un overflow dello stack può generare un messaggio di errore o causare un arresto anomalo del programma.

NOTE: Il termine "stack" può anche riferirsi a uno stack di protocolli, costituito da più protocolli di rete che lavorano insieme. Ogni protocollo è classificato in uno dei sette diversi livelli definiti nel modello OSI.

Aggiornato July 23, 2014 da Per C.

quizMetti alla prova le tue conoscenze

Digital HDTV in North America uses which broadcasting standard format?

A
NTSC
0%
B
PAL
0%
C
ISDB
0%
D
ATSC
0%
Correct! Incorrect!     View the HDTV definition.
More Quizzes →

Il dizionario informatico Tech Terms

La definizione di Stack in questa pagina è una definizione originale scritta dagli autori di TechTerms.com. Se desideri fare riferimento a questa pagina o citare questa definizione, utilizza la barra di citazione verde direttamente sotto la definizione.

Il nostro obiettivo è spiegare la terminologia informatica in modo semplice e comprensibile. Ci impegniamo per l'accuratezza e la semplicità in ogni definizione pubblicata. Se hai commenti o vuoi suggerire un nuovo termine tecnico, contattaci.

La newsletter di Tech Terms

Migliora le tue conoscenze tecniche con la nostra newsletter giornaliera o settimanale! Iscriviti oggi e ricevi nuovi termini e quiz nella tua casella di posta.

Iscriviti alla newsletter gratuita di TechTerms

Con quale frequenza desideri ricevere un'e-mail?

Puoi annullare l'iscrizione o modificare la frequenza in qualsiasi momento tramite i link presenti in ogni e-mail. Domande? Contattaci.

Nota: La newsletter viene inviata in inglese.