大きく分けて、
1. 一つの仕事をマルチコアで分配して効率よく行うための並列処理
2. 実際に複数ある仕事を扱うための並列処理(I/Oの多重化など)

ってのがあるよな。

1.のケースは純粋にパフォーマンスの問題であるがゆえに、記述が面倒くさいのなら、
パフォーマンスが深刻な問題になるケースでなければ誰もやらない。
逆にそれが簡便に記述できるのなら、特に面倒をこうむることなくマルチコアの
恩恵を受けられる(可能性がある)ってことでしょ。
C/C++あたりで並列計算処理をさせるのはぶっちゃけ面倒くさいから、
2.以外のケースではなかなか行われないよね。