Skip to main content

Cos'è il multithreading?

Nel mondo dell'informatica, Multithreading è il compito di creare un nuovo thread di esecuzione all'interno di un processo esistente piuttosto che avviare un nuovo processo per iniziare una funzione.In sostanza, il compito di multithreading ha lo scopo di fare un uso più saggio delle risorse informatiche consentendo alle risorse che sono già in uso per essere utilizzate contemporaneamente da una leggera variante dello stesso processo.Il concetto di base di multithreading è in circolazione da un po 'di tempo, ma ha attirato un'attenzione più ampia poiché i computer sono diventati più banali durante il decennio degli anni '90.

Questa forma di multiplexing di divisione temporale crea un ambiente in cui un programma è configurato per consentire ai processi di forchettare o dividere in due o più thread di esecuzione.L'esecuzione parallela di thread all'interno dello stesso programma è spesso propagandata come un uso più efficiente delle risorse del sistema informatico, in particolare con i sistemi desktop e laptop.Consentendo a un programma di gestire più attività con un modello multithreading, il sistema non deve consentire a due programmi separati di avviare due processi separati e deve utilizzare gli stessi file contemporaneamente.

Mentre ci sono molti sostenitori del multithreading, ci sono anche quelli che comprendono il processo potenzialmente dannoso per il compito di calcolo.La taglio del tempo che è inerente a consentire a una forchetta o di un thread di dividere da un processo di esecuzione è ritenuto da alcuni per impostare circostanze in cui potrebbe esserci un conflitto tra i thread quando si tenta di condividere cache o altre risorse hardware.Vi è anche una certa preoccupazione che l'azione di Multithreading possa ridurre i tempi di risposta di ciascun singolo thread nel processo, negando efficacemente qualsiasi risparmio di tempo generato dalla configurazione.

Tuttavia, il multithreading rimane una delle opzioni praticabili nel multitasking per computer.Non è insolito per un processore consentire sia il multithreading che la creazione di nuovi processi per gestire varie attività.Ciò consente all'utente finale tutti i vantaggi della commutazione del contesto, pur sfruttando il miglior utilizzo delle risorse disponibili.