GNU/Linux >> Znalost Linux >  >> Linux

funkce strtok bezpečnost vlákna

strtok() není MT-safe, protože ukládá některé přechodné proměnné globálně a znovu je používá při každém volání (viz, nemusíte znovu předávat řetězec pokaždé, když voláte strtok() ).Můžete se podívat na manuálové stránky metod, které používáte a na konci je vždy uvedeno, zda je MT-safe nebo ne.

Pokud metoda není MT-safe (multi-thread safe nebo reentrant), měli byste hledat stejnou metodu s příponou _r, která znamená reentrand. Ve vašem příkladu strtok_r() jak je navrženo v druhé odpovědi.


strtok() není reentrant, takže by neměl být používán z aplikací s vlákny, použijte strtok_r() místo toho.


Linux
  1. Funkce kořene uživatelské skupiny??

  2. Funkce v proměnných Shell?

  3. Bezpečnost nového operátorského vlákna v C++ v linuxu a gcc 4

  1. Jak pojmenovat vlákno v Linuxu?

  2. Jak vytisknout pthread_t

  3. ID vlákna vs. rukojeť vlákna

  1. Přístup k místnímu vláknu z jiného vlákna

  2. C++11:Jak vytvořit alias funkce?

  3. ID vlákna Pythonu, jak je uvedeno nahoře