Il threading è un'astrazione di programma per l'esecuzione parallela nei moderni sistemi operativi. Con l'esecuzione di programmi multithread avviene quanto segue: lo spazio di indirizzamento della RAM e i file aperti sono condivisi tra i thread per ridurre al minimo l'overhead e utilizzare il tempo della CPU in modo più efficiente. Tutto ciò rende l'esecuzione multithread un meccanismo efficiente e utile. È possibile visualizzare i thread utilizzando gli strumenti a riga di comando ps
e top
. Vediamo ora come farlo nel sistema operativo Linux.
Linux offre due modi per eseguire il debug dei processi multithread per eseguire una particolare azione. Uno è quando un processo crea le proprie copie utilizzando il meccanismo di fork e poi questi processi comunicano tramite socket o IPC. Т. L'utente ottiene processi che occupano risorse e una certa quantità di memoria. Il modo successivo è quello di allocare i thread all'interno di un singolo processo. In questo modo tutti i thread di un singolo processo avranno un identificatore di gruppo di thread e un identificatore unico. In questo modo avranno accesso a tutte le risorse del processo padre e occuperanno meno memoria.
In questo programma, i thread dei processi sono attivati da un solo comando : T.
Nel modo seguente è possibile vedere tutti i thread di processo con PID per Chromium:
$ ps -T -p
La colonna SPID mostra l'ID del thread e CMD il nome del thread.
Con l'aiuto dell'utilità top è facile visualizzare i thread in tempo reale. Per farlo, è necessario eseguire top con l'opzione -H
. È possibile attivare o disattivare la visualizzazione dei thread in fase di esecuzione utilizzando il tasto H:
$ top -H
Se è necessario visualizzare solo i thread del processo desiderato, utilizzare l'opzione -H:
$ top -H -p pid
Come si può vedere, l'uso di top è abbastanza semplice.
Tuttavia, l'utility più comoda per la visualizzazione dei thread è HTOP. È il principale visualizzatore interattivo di processi su ncurces. Con il suo aiuto è possibile osservare i thread in tempo reale sotto forma di albero.
Per fare ciò, è necessario abilitare la visualizzazione dei thread in htop: prima di tutto, aprire il programma, accedere al menu premendo F2, quindi selezionare Opzioni di visualizzazione, sotto Impostazione. A questo punto, spuntare la voce Tre visualizzazioni e Mostra nomi di fili personalizzati. A questo punto si può premere F10 per salvare le impostazioni:
Tutto qui. In questo modo è possibile visualizzare le filettature in una vista ad albero separatamente per ogni processo. Anche in questo caso si possono vedere i thread per il browser Chromium: