¿Cómo hacer la administración de subprocesos en C ++?

7

Usamos pthread para la administración de subprocesos en sistemas basados en C. pthread es en general compilable por compilador de C ++ (como g ++). Sin embargo, ¿cuáles son las mejores formas de abstracción para subprocesos en C ++?

Además, para hacer que cualquier sistema funcione en un sistema de subprocesos múltiples, también es importante hacer que los subprocesos sean seguros. ¿Cuáles son las bibliotecas estándar que requieren que las alternativas (instalaciones) sean seguras para subprocesos o no son seguras para entornos de subprocesos múltiples?

¿Los punteros inteligentes, las plantillas requieren medidas especiales para hacerlo seguro?

¿Cuáles son las mejores prácticas para la gestión de subprocesos en C ++?

    
pregunta Dipan Mehta 15.11.2011 - 15:15

2 respuestas

14

Si usas C ++ 11, los subprocesos forman parte de la biblioteca estándar y los componentes donde tiene sentido, ya que los punteros inteligentes son seguros para subprocesos (las colecciones generalmente requieren que los encierres tú mismo).

Si está utilizando Boost, eche un vistazo a boost.thread . Es la base de lo que se estandarizó en C ++ 11 (la mayoría de las cosas nuevas en C ++ 11 provienen de boost).

    
respondido por el Jan Hudec 15.11.2011 - 15:22
5

Además de lo que escribió Jan Hudec, si desea usar un nivel de abstracción aún mayor (lo que puede ser una buena idea), eche un vistazo a Intel Threading Bloques de construcción . Microsoft tiene Runtime de concurrencia que también es excelente pero específico para MS.

    
respondido por el Nemanja Trifunovic 15.11.2011 - 17:22

Lea otras preguntas en las etiquetas