Почему существует разница при использовании std :: thread :: hardware_concurrency () и boost :: thread :: hardware_concurrency ()?

Описание самой проблемы довольно простое. Я тестирую различия библиотеки std :: thread в C ++ 11 и библиотеки boost :: thread.

Результат:

#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;
}

дает разные результаты:

0
4

Почему?

PS: Версия пакета gcc - 4.6.2-1.fc16 (x86_64). Я использую

g++ test.cc -Wall -std=c++0x -lboost_thread-mt -lpthread
23
задан Brian Cain 16 December 2011 в 22:16
поделиться