Mécanisme de verrouillage à base de Futex
-
05-10-2019 - |
Question
Quelqu'un peut me dire un exemple d'utilisation mécanisme de verrouillage basé sur futex? (Pour muticore CPU x86, CentOS)
La solution
Les mutex de Pthreads sont mis en œuvre à l'aide futexes sur les versions récentes de Linux. Pthreads est l'API de filetage standard C sous Linux, et fait partie de la norme Posix, de sorte que vous pouvez facilement transférer votre programme à d'autres systèmes Unix. Vous devriez éviter d'utiliser futexes directement à moins que vous avez très inhabituels besoins, parce qu'ils sont très difficiles à utiliser correctement - pthreads d'utilisation, ou un niveau plus élevé, API spécifique à la langue (qui utilisera certainement pthreads lui-même)
.Autres conseils
Jetez un oeil à https://github.com/avsm/ipc-bench . Ils utilisent futex dans la mise en œuvre de la conduite de mémoire partagée.
Plus précisément, vous pouvez vérifier ce code .
exemple de travail:. Pthreads mutex utiliser les verrous FUTEX
exemple de code. Ils ont été faits en quelques mois de ce poste en '10, mais sont toujours mis à jour
http: //meta-meta.blogspot. com / 2010/11 / linux-thread-primitives-futex.html https://github.com/lcapaldo/futexexamples
cas d'utilisation par exemple: IPC et de synchronisation inter-processus est le seul exemple de la raison pour laquelle on doit utiliser un futex dans l'espace utilisateur. pthread mutex travaillera pour multi-thread, sauf pour les cas extrêmes, mais plusieurs processus manque de mécanismes de verrouillage haute performance ainsi que les types de verrouillage.