Estoy usando Visual C++ 2010. ¿Es compatible con la biblioteca C++ 11 threads, de modo que podría compilar el código in this question?¿Admite Visual C++ 2010 la biblioteca C++ 11 hilos?
Si no es así, ¿qué biblioteca puedo usar que admita esto?
Estoy usando Visual C++ 2010. ¿Es compatible con la biblioteca C++ 11 threads, de modo que podría compilar el código in this question?¿Admite Visual C++ 2010 la biblioteca C++ 11 hilos?
Si no es así, ¿qué biblioteca puedo usar que admita esto?
Visual C++ 2010 no proporciona el soporte de subprocesos C++ 11 o las bibliotecas atomics.
Si desea utilizar ese código en Visual C++ 2010, deberá usar una implementación de esas bibliotecas por parte de un tercero. Una opción es just::thread; no es gratis, pero tengo una copia y estoy bastante satisfecho con ella.
O bien, puede utilizar otra biblioteca de hilos multiplataforma como Boost.Thread u OpenThreads o una de las bibliotecas nativas de hilos de Windows. Cualquiera de estas opciones probablemente requerirá cambios en el código para poder ejecutarse.
Tenga en cuenta que Visual C++ 11 admitirá estas bibliotecas, y se incluyen en Visual C++ 11 Beta.
VC++ admite la sintaxis incrustada especial OpenMP (http://msdn.microsoft.com/en-us/library/tt15eb9t(VS.80).aspx) - tenga en cuenta que g ++ también es compatible, por lo que puede obtener código de plataforma cruzada.
¿cómo se relaciona la pregunta con OpenMP? – CharlesB
@CharlesB - OpenMP integra a nivel de lenguaje todas las primitivas esperadas por multihebra y la forma de paralelizar la ejecución: atomic, barrier, crítica y paralela por fin. ¿Qué mal con la respuesta? Se relaciona con VS ++, responde cómo proporcionar multihilo sin biblioteca de terceros. – Dewfy
y el código publicado en la pregunta está relacionado con la biblioteca de hilos de C++ 0x, que OpenMP no implementa, por lo tanto, mi comentario. – CharlesB
Y un equivalente libre es Boost.Thread and Boost.Atomic (no oficial). – GManNickG
@GMan: cierto; Una cosa importante que Boost.Thread es (a lo mejor de mi conocimiento) que falta es un equivalente a 'std :: async', que es lo mejor desde la creación del destructor. –
Sí, tiene futuros, por lo que no está demasiado lejos de su alcance. – GManNickG