GNU/Linux >> Linux Esercitazione >  >> Linux

Migliore sostituzione per exit(), atexit() in C

qual è il miglior modo possibile per terminare il processo

  1. Se vai a thread singolo usa semplicemente exit() , poiché il tuo codice non sarà multi-thread.
  2. Altrimenti assicurati che tutti i thread tranne uno siano terminati prima dell'ultimo thread e poi chiama exit() in modo sicuro a causa di 1. sopra.

Dato che i guasti di alimentazione/hardware possono verificarsi in qualsiasi momento, l'impossibile... estrema difficoltà di terminare in modo affidabile i thread con il codice utente e la natura caotica dell'uso dei pool di memoria ecc. in molte app multithread non banali, è meglio progettare app e sistemi in grado di pulire i file temporanei ecc. all'avvio, piuttosto che provare a micro-gestire l'arresto.

"Ripulisci tutte le risorse che allochi prima di uscire" suona come un buon consiglio in classe o in una lezione, ma diventa rapidamente un'intera catena di albatros intorno al collo di fronte a una dozzina di thread, code e pool in un sistema dinamico in continua evoluzione.

Se puoi, se stai utilizzando un sistema operativo non banale, lascia che faccia il suo lavoro e pulisca per te. È molto meglio di quanto lo sarà mai il tuo codice utente.


Linux
  1. Usa anacron per un crontab migliore

  2. Codici di uscita della riga di comando di Bash demistificati

  3. Come cercare i codici di uscita per le applicazioni?

  4. I migliori editor JavaScript per Linux

  5. Ottieni il codice sorgente per qualsiasi comando Linux

3 strumenti da riga di comando per fingere la produttività

Oltre 10 migliori IDE Python per Linux

Exa:un sostituto moderno per ls Command

Zorin OS 15 Lite – Il miglior sostituto per Windows 7

Exa:un moderno sostituto del comando ls

Codice di ritorno grep di Linux