Frage

Jemand kann mir sagen, ein Beispiel für die Verwendung der Verriegelungsmechanismus basiert auf futex? (Für muticore x86 CPU, CentOS)

War es hilfreich?

Lösung

Pthreads' mutexes verwenden futexes auf neueren Versionen von Linux implementiert. Pthreads ist die Standard-C-Threading-API auf Linux, und ein Teil ist, der Posix-Standard, so können Sie einfach Port Ihr Programm zu anderen Unix-ähnlichen Systemen. Sie sollten futexes vermeiden, mit direkt, wenn Sie sehr ungewöhnliche Bedürfnisse haben, weil sie sehr schwer sind richtig zu verwenden - Verwendung pThreads oder eine höhere Ebene, sprachspezifische API (die mit ziemlicher Sicherheit pThreads verwenden selbst)

.

Andere Tipps

Hier finden Sie aktuelle https://github.com/avsm/ipc-bench . Sie verwenden futex in Shared-Memory-Rohr-Implementierung.

Im Einzelnen können Sie überprüfen, diesen Code .

Arbeitsbeispiel:. PThreads Mutex Verwendung futex Schlösser

Codebeispiel:. Diese innerhalb von Monaten dieses Postens in '10 gemacht wurden, aber immer noch up-to-date

http: //meta-meta.blogspot. com / 2010/11 / linux-Threading-Primitiven-futex.html https://github.com/lcapaldo/futexexamples

Anwendungsfallbeispiel: IPC und Inter-Prozess-Synchronisation ist das einzige Beispiel dafür, warum man eine futex in User-Space verwendet werden soll. Pthread mutexes wird für Multi-Thread arbeitet außer für extreme Fälle, aber Multi-Prozess ist in Hochleistungs-Verriegelungsmechanismen sowie Schlosstypen fehlen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top