GNU/Linux >> Belajar Linux >  >> Linux

Pengganti yang lebih baik untuk exit(), atexit() di C

apa cara terbaik untuk mengakhiri proses

  1. Jika menggunakan utas tunggal, gunakan saja exit() , karena kode Anda tidak menjadi multi-utas.
  2. Jika tidak, pastikan semua kecuali satu utas telah berakhir sebelum utas terakhir, lalu panggil exit() dengan aman karena 1. di atas.

Mengingat kegagalan daya/perangkat keras dapat terjadi kapan saja, kemustahilan.. kesulitan ekstrim untuk mengakhiri utas dengan kode pengguna secara andal dan sifat kacau penggunaan kumpulan memori, dll. di banyak aplikasi multithread non-sepele, lebih baik merancang aplikasi dan sistem yang dapat membersihkan file temp, dll. saat start-up, daripada mencoba mengelola mikro penonaktifan.

'Bersihkan semua sumber daya yang Anda alokasikan sebelum Anda keluar' terdengar seperti saran yang bagus di ruang kelas atau kuliah, tetapi dengan cepat menjadi rantai elang laut di leher Anda ketika dihadapkan dengan selusin utas, antrean, dan kumpulan dalam sistem dinamis yang terus berubah.

Jika Anda bisa, jika Anda menjalankan OS yang tidak sepele, biarkan ia melakukan tugasnya dan bersihkan untuk Anda. Ini jauh lebih baik daripada kode pengguna Anda.


Linux
  1. Bagaimana Cara Mencari Kode Keluar Untuk Aplikasi?

  2. Pintasan Pengganti Untuk `layar`?

  3. Dapatkan Kode Sumber untuk Perintah Linux apa pun

  1. Alat pembanding kode untuk Linux

  2. Kode untuk malloc dan gratis

  3. Kode pengembalian grep Linux

  1. Gunakan anacron untuk crontab yang lebih baik

  2. Kode keluar baris perintah bash didemistifikasi

  3. Linux vs Windows:OS Mana yang Lebih Baik untuk Game PC