GNU/Linux >> Linux Esercitazione >  >> Linux

Quando usare pthread_exit() e quando usare pthread_join() in Linux?

Come spiegato nelle documentazioni openpub,

pthread_exit() uscirà dal thread che lo chiama.

Nel tuo caso poiché il main lo chiama, main thread terminerà mentre i thread generati continueranno ad essere eseguiti. Questo è usato principalmente nei casi in cui il thread principale è richiesto solo per generare thread e lasciare che i thread facciano il loro lavoro

pthread_join sospenderà l'esecuzione del thread che lo ha chiamato a meno che il thread di destinazione non termini

Questo è utile nei casi in cui vuoi aspettare che il thread/i termini prima di proseguire con l'elaborazione nel thread principale.


Entrambi i metodi assicurano che il tuo processo non termina prima che tutti i tuoi thread siano terminati.

Il metodo join ha il tuo thread del main funzione attende esplicitamente che tutti i thread vengano "uniti".

Il pthread_exit Il metodo termina il tuo main funzione e filo in modo controllato. main ha la particolarità di terminare main altrimenti terminerebbe l'intero processo, inclusi tutti gli altri thread.

Perché funzioni, devi essere sicuro che nessuno dei tuoi thread utilizzi variabili locali dichiarate al loro interno main funzione. Il vantaggio di questo metodo è che il tuo main non deve conoscere tutti i thread che sono stati avviati nel tuo processo, ad esempio perché altri thread hanno essi stessi creato nuovi thread che main non sa nulla di.


pthread_exit termina il thread chiamante mentre pthread_join sospende l'esecuzione del thread chiamante finché i thread di destinazione non completano l'esecuzione.

Sono praticamente ben spiegati in dettaglio nella documentazione del gruppo aperto:

  • pthread_exit
  • pthread_join

Linux
  1. Che cos'è un comando Chown in Linux e come usarlo

  2. Antivirus su Linux:dovrei davvero usarlo e, in caso affermativo, quando ne ho bisogno?

  3. Come installare e utilizzare Flatpak in Linux

  4. Come installare e utilizzare Traceroute in Linux

  5. Linux – Perché usiamo Su – e non solo Su?

Come installare e utilizzare PuTTY su Linux

Come utilizzare i comandi Pbcopy e Pbpaste su Linux

Installa e usa Linuxbrew nel sistema operativo Linux

Come installare e utilizzare phpMyAdmin in Linux

Come installare e utilizzare il comando fd in Linux

Come installare e utilizzare Nu Shell su Linux