Che cosa è Multithreading?

09/06/2011 by admin

Nel mondo dell'informatica, multithreading è il compito di creare un nuovo thread di esecuzione all'interno di un processo già esistente piuttosto che avviare un nuovo processo per iniziare una funzione. Essenzialmente, il compito di multithreading destinato a fare uso saggio delle risorse informatiche consentendo risorse che sono già in uso ad essere contemporaneamente utilizzata da una leggera variante dello stesso processo. Il concetto di base del multithreading è stato intorno per qualche tempo, ma ha guadagnato una maggiore attenzione come i computer sono diventati più comuni durante il decennio della 1990a € s.

Questa forma di time-division multiplexing crea un ambiente in cui un programma è configurato per consentire processi di forchetta o divisi in due o più thread di esecuzione. L'esecuzione parallela di thread all'interno dello stesso programma viene spesso pubblicizzato come un uso più efficiente delle risorse del sistema informatico, in particolare con i sistemi desktop e laptop. Consentendo un programma per gestire più attività con un modello multithreading, il sistema non deve consentire due programmi separati di avviare due processi separati e devono sfruttare gli stessi file contemporaneamente.

Mentre ci sono molti sostenitori di multithreading, ci sono anche quelli che comprendere il processo come potenzialmente dannosi per il compito di calcolo. Il taglio tempo che è insita nel consentire una forchetta o filo per dividere fuori da un processo in esecuzione si pensa da alcuni di creare situazioni in cui possa esservi un conflitto tra i thread quando si tenta di condividere cache o altre risorse hardware. C'è anche una certa preoccupazione che l'azione di multithreading potrebbe abbassare il tempo di risposta del singolo filo nel processo, negando efficacemente qualsiasi risparmio di tempo che viene generato dalla configurazione.

Tuttavia, multithreading rimane una delle opzioni praticabili in informatica multitasking. Non è insolito per un processore per consentire sia multithreading nonché la creazione di nuovi processi per gestire vari compiti. Questo consente all'utente finale di tutti i vantaggi del cambio di contesto, pur facendo il miglior uso delle risorse disponibili.


Articoli Correlati