GNU/Linux >> Tutoriels Linux >  >> Linux

sécurité des threads de la fonction strtok

strtok() n'est pas MT-safe car il stocke certaines variables intermédiaires globalement et les réutilise à chaque appel (vous n'avez pas à repasser la chaîne à chaque fois que vous appelez strtok() ).Vous pouvez consulter les pages de manuel des méthodes que vous utilisez et il est toujours indiqué à la fin si elles sont MT-safe ou non.

Lorsqu'une méthode n'est pas MT-safe (multi-thread safe ou reentrant), vous devez rechercher la même méthode avec le suffixe _r signifiant reentrant. Dans votre exemple, strtok_r() comme suggéré dans l'autre réponse.


strtok() n'est pas réentrant donc il ne doit pas être utilisé à partir d'applications threadées, utilisez strtok_r() à la place.


Linux
  1. Fonctions dans les variables shell ?

  2. Où est la fonction itoa sous Linux ?

  3. C++ nouvel opérateur de sécurité des threads dans Linux et gcc 4

  4. Comment nommer un thread sous Linux ?

  5. Threads POSIX détachés ou joignables

Fonctions bash

Comment imprimer pthread_t

Accéder au thread local à partir d'un autre thread

C++11 :Comment aliaser une fonction ?

ID d'un thread Python tel que rapporté par top

fflush() ne fonctionne pas sous Linux