Hello,
J'ai besoin d'une fonction pour générer des UID de manière thread-safe. Je me suis dis que je devais pouvoir faire ça avec un std::atomic :
Est-ce que c'est bon ? Est-ce que ça fait la même chose que cette version avec un mutex ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 using uid_type = std::uint32_t; uid_type getNextUID() { static std::atomic<uid_type> uid; return uid++; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 uid_type getNextUID2() { static uid_type uid; static std::mutex mutex; std::lock_guard guard{mutex}; return uid++; }
Partager