auです。
並列プログラミングをするに当たって、OpenMPという共有メモリで並列化に対応することができるAPIがあるようなので調べてみました。
OpenMPとは、共有メモリ型のシステムで並列プログラミングを可能にするAPIです。
APIということは、includeしてあげれば使うことができそうですね。
OpenMPを使用することで、逐次プログラムを並列プログラムに変えることができます。こうすることで、使われていない資源を使うことができたりと、処理が早くなります。
マルチスレッド化などは、プログラムに結構な分量書かなければいけないのに対して、OpenMPは指示文を少し追記するだけでできるそうです。
ヘッダに
#include <omp.h>
を追記し、スレッドを作成する命令を3行程度記述するだけで実装することができました。
はずでした。
Virtual BoxのUbuntu 18.0.4の環境で実装したのですが、なんでかスレッド数が1にしかなりません・・・。
原因を究明してまた記事にしたいと思います。