avoid the bug that boost::thread::hardware_concurrentcy() return 0 if this information is unavaiblae