#include <arccore/concurrency/SpinLock.h>
Classes | |
| class | ManualLock |
| class | ScopedLock |
Types publics | |
| enum class | eMode : uint8_t { None , Auto , FullSpin , SpinAndMutex } |
| Mode du spinlock. Le défaut est 'Auto'. Plus de détails... | |
Fonctions membres publiques | |
| SpinLock () | |
| SpinLock par défaut. | |
| SpinLock (eMode mode) | |
| SpinLock avec le mode mode. | |
Amis | |
| class | ScopedLock |
| class | ManualLock |
Définition à la ligne 37 du fichier arccore/src/concurrency/arccore/concurrency/SpinLock.h.
|
strong |
Mode du spinlock. Le défaut est 'Auto'.
| Valeurs énumérées | |
|---|---|
| Auto | Choix automatique. Si |
| FullSpin | Utilise toujours un spinlock. Ce type est plus rapide s'il y a très peu de contention mais les performances sont très mauvaises dans le cas contraire. |
| SpinAndMutex | SpinLock puis mutex. Effectue un spinlock puis rend la main (std::this_thread::yield()) si cela dure trop longtemps. Ce mode n'est disponible que si on utilise le C++20. Sinon, il est équivalent à FullSpin. |
Définition à la ligne 80 du fichier arccore/src/concurrency/arccore/concurrency/SpinLock.h.
| Arcane::SpinLock::SpinLock | ( | ) |
| Arcane::SpinLock::SpinLock | ( | eMode | mode | ) |
SpinLock avec le mode mode.
Définition à la ligne 47 du fichier SpinLock.cc.
| Arcane::SpinLock::~SpinLock | ( | ) |
Définition à la ligne 57 du fichier SpinLock.cc.
|
friend |
Définition à la ligne 75 du fichier arccore/src/concurrency/arccore/concurrency/SpinLock.h.
|
friend |
Définition à la ligne 74 du fichier arccore/src/concurrency/arccore/concurrency/SpinLock.h.