У меня очень простая функция в C ++:
double testSpeed()
{
using namespace boost;
int temp = 0;
timer aTimer;
//1 billion iterations.
for(int i = 0; i < 1000000000; i++) {
temp = temp + i;
}
double elapsedSec = aTimer.elapsed();
double speed = 1.0/elapsedSec;
return speed;
}
Я хочу запустить эту функцию с несколькими потоками. Я видел примеры онлайн, которые я могу
сделайте это следующим образом:
// start two new threads that calls the "hello_world" function
boost::thread my_thread1(&testSpeed);
boost::thread my_thread2(&testSpeed);
// wait for both threads to finish
my_thread1.join();
my_thread2.join();
Однако, при этом будут запущены два потока, каждый из которых будет повторяться по миллиарду, верно? Я хочу
два потока выполняют работу одновременно, поэтому все будет работать быстрее. Мне все равно
о синхронизации, это просто тест скорости.
Спасибо!