La descripción del problema en sí es bastante simple. Estoy probando las diferencias de la biblioteca std :: thread en C++ 11 y boost :: la biblioteca de hilos.¿Por qué hay una diferencia al usar std :: thread :: hardware_concurrency() y boost :: thread :: hardware_concurrency()?
La salida de estos:
#include <iostream>
#include <thread>
#include <boost/thread.hpp>
int main() {
std::cout << std::thread::hardware_concurrency() << std::endl;
std::cout << boost::thread::hardware_concurrency() << std::endl;
return 0;
}
me da resultados diferentes:
0
4
¿Por qué?
PD: La versión del paquete gcc es 4.6.2-1.fc16 (x86_64). Estoy usando
g++ test.cc -Wall -std=c++0x -lboost_thread-mt -lpthread
Pero en realidad boost :: thread puede mostrar la información correcta 4, mientras que C++ 11 me da 0 ... – derekhh
@derekhh: es muy probable que su implementación de C++ 11 es solo un esqueleto y en realidad no funciona – Dani
@Dani: he estado usando g ++ 4.6.2 ... – derekhh