Che cosa è un thread

  • In questo modo all'interno del nostro sistema potranno funzionare più programmi
  • A condizione che l'alternanza tra i vari programmi sia abbastanza veloce, l'utente avrà l'impressione che i programmi funzionino contemporaneamente
  • A volte un programma deve eseguire un'elaborazione che richiede parecchio tempo, senza eseguire operazioni di I/O
  • In questo caso, per garantire l'impressione della contemporaneità possiamo applicare due tecniche:
    1. Il programma che esegue i calcoli, ogni tanto invoca una chiamata che consente al sistema di fare avanzare gli altri programmi
    2. Il sistema assegna un periodo di tempo a ciascun programma (time slice) e, se il programma non cede il controllo entro quel tempo, lo interrompe forzatamente, per farlo riprendere più tardi
  • La seconda soluzione prende il nome di multitasking prehemptive

© Ing. Stefano Salvi - All rights reserved