Qual è la priorità discussione?

January 25

Qual è la priorità discussione?


Le discussioni sono i componenti più piccoli in un processo - un programma in esecuzione - per il quale Windows assegna lo spazio di memoria. Come componente o il figlio di un processo padre, questo spazio è una porzione della memoria di Windows assegna il processo, il che significa che sia il processo e le sue thread condividono lo stesso indirizzo di memoria. Poiché la maggior parte dei processi contengono numerose discussioni, molti dei quali eseguiti contemporaneamente, dando la priorità è essenziale per gestire in modo efficace le esigenze di memoria e garantire un flusso del programma regolare.

Nozioni di base

priorità del thread determina il livello di un filo di importanza e quando la CPU permette l'esecuzione. Task Manager del computer mostra il numero di processi che il computer sia in esecuzione, il loro livello di priorità di base e il numero di thread sono in ogni processo. Aggiungere le colonne appropriate se il Task Manager non visualizza le informazioni cliccando su "Visualizza" nel menu principale e poi "Seleziona colonne". Ogni processo che vedete inizia con un unico filo che, a seconda del numero di istruzioni che contiene, la maggior parte spesso si dirama in più thread. Mentre la velocità alla quale un processore centrale esegue fa sembrare come se esso elabora le istruzioni di molteplici processi e thread multipli allo stesso tempo, in realtà un computer con una CPU può essere eseguito solo una serie di istruzioni per volta.

Priorità di base

Lo scheduler di sistema di Windows inizia assegnando ogni thread un livello di priorità di base di "Idle", "Sotto normale", "Normal", "superiore al normale", "alto" o "in tempo reale". livelli di priorità Base basano sulla classe di priorità del processo principale e l'importanza del filo all'interno del processo per posizionare ciascuno in un livello generale di importanza. Ad esempio, thread nel Task Manager di Windows, start-up di applicazione e stampante sistema di comunicazione cominciano con una priorità di base di "High." Per la maggior parte, però, le discussioni di solito iniziano con una priorità di base di "normale".

Priorità dinamica

Poiché Windows considera le discussioni con la stessa priorità di base come ugualmente importanti, ha bisogno di un modo per determinare quale thread per eseguire prima. Un secondo livello di priorità dinamica che inizia allo stesso livello della priorità base ma ha la capacità di cambiare, o "boost", in combinazione con un input da tastiera timer o messaggio mouse, o, realizza questo obiettivo. livelli di priorità dinamiche si applicano solo alle discussioni fino a una priorità di base "normale", e riguardano solo la categoria generale alla quale il filo appartiene.

considerazioni

Pur consentendo l'utilità di pianificazione di Windows per gestire le priorità di thread è la scelta più semplice e migliore-pratiche, si ha la possibilità di modificare la priorità di base di qualsiasi thread del processo manualmente. In Windows Task Manager, fare clic destro un processo e selezionare "Imposta priorità" dalla casella a discesa. Tuttavia, a meno che non si comprende appieno non solo il concetto di priorità dei thread, ma anche la gestione della memoria di sistema e l'utilizzo della CPU, cambiando le priorità rispetto alle impostazioni di uno di vostra scelta in grado di produrre risultati disastrosi. Ad esempio, la modifica di un filo la cui priorità predefinita è "alta" a "Low" può significare il filo non verrà mai eseguito, le istruzioni non potrà mai eseguire e il programma sarà "appendere" a tempo indeterminato. In alternativa, modificare una priorità di base da "normale" a "alto" può causare un thread usare tempo CPU troppo, e di conseguenza interrompere altri thread importanti esecuzione.