OpenMPを使うとpragmaディレクティブの指定だけで処理をスレッドに分割できる。 #pragma omp for でfor ループ内で行われる動作をスレッドに分割 試してみたプログラム (2乗して平方根をとるという処理を1000万回繰り返す関数を10回呼び出している。もちろん処理の内容には意味はない) Visual studio 2005で確認 #include "stdafx.h" #include <omp.h> #include <iostream> #include <math.h> #include <time.h> void foo(){ std::cout << omp_get_num_threads() << std::endl; std::cout << "#" << omp_get_thread_num() << std::endl; double result