GNU/Linux >> Belajar Linux >  >> Linux

strtok fungsi pengaman benang

strtok() tidak MT-safe karena menyimpan beberapa variabel perantara secara global dan menggunakannya kembali pada setiap panggilan (lihat Anda tidak perlu meneruskan string lagi setiap kali Anda memanggil strtok() ). Anda dapat melihat halaman manual dari metode yang Anda gunakan dan selalu ditunjukkan di bagian akhir apakah MT-safe atau tidak.

Ketika sebuah metode tidak MT-safe (multi-thread safe atau reentrant), Anda harus mencari metode yang sama dengan akhiran _r yang berarti reentrand. Dalam contoh Anda, strtok_r() seperti yang disarankan dalam jawaban lain.


strtok() bukan reentrant sehingga tidak boleh digunakan dari aplikasi threaded, gunakan strtok_r() sebagai gantinya.


Linux
  1. Fungsi Root Grup Pengguna??

  2. Fungsi Dalam Variabel Shell?

  3. C ++ keamanan utas operator baru di linux dan gcc 4

  1. Bagaimana memberi nama utas di Linux?

  2. Apakah errno thread-safe?

  3. Apakah utas memiliki tumpukan yang berbeda?

  1. Utas POSIX terpisah vs. Dapat digabungkan

  2. Akses thread-local dari thread lain

  3. C++11:Bagaimana cara membuat alias suatu fungsi?