Pregunta

Alguien me puede decir un ejemplo del uso de un mecanismo de bloqueo basado en futex? (Por muticore CPU x86, CentOS)

¿Fue útil?

Solución

mutex Pthreads' se implementan utilizando futexes en las versiones recientes de Linux. Pthreads es la API C roscado estándar en Linux, y es parte del estándar POSIX, por lo que puede fácilmente puerto de su programa a otros sistemas de tipo Unix. Debe evitar el uso futexes directamente a menos que tenga necesidades muy inusual, porque son muy difíciles de usar correctamente - pthreads de uso, o de un nivel más alto, la API específica del idioma (que es casi seguro que utilizar pthreads sí mismo)

.

Otros consejos

Tener un vistazo a https://github.com/avsm/ipc-bench . Utilizan futex en la implementación tubería de memoria compartida.

En concreto, se puede comprobar este código .

Ejemplo de trabajo:. Pthreads uso mutex cerraduras futex

Ejemplo de código:. Estos se hicieron pocos meses de este blog en '10, pero siguen siendo hasta a la fecha

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

caso de uso ejemplo: IPC y sincronización entre procesos son el único ejemplo de por qué hay que utilizar un futex en el espacio de usuario. pthread mutex trabajarán para multi-hilo a excepción de casos extremos, pero multi-proceso que falta de mecanismos de bloqueo de alto rendimiento, así como tipos de bloqueo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top