基本的にスレッドはソフトウェアレベルの話で,コア数はハードウェアレベルの(上層の)話.
リソースの競合とかデッドロックとかマルチタスク処理によるコンテキストの切り替えとかアトミック操作とか,
実行時には様々な障害が発生するので,その辺をOSが色々やってくれる.

そんなわけで単純に「2つ処理するハードウェアつけたら2倍になるぉ(^ω^」なんて誰にもいえなくて,
そんなこと言ってたらそれはバカ丸出し.

OSを解さないで,自力でソフトウェアをチューニングしてやっとかそこそこハードウェアの性能を引き出せるわけだから,
安っちぃコンパイラで(しかも仮想マシン)吐き出したコードを実行して,シングルコアとマルチコアでユーザが体感できるような性能差が出たらラッキーくらい.

それよかハードディスクの性能をよくするとか,マウスの精度を上げるとか,描画を早くするとかに専念した方がいいじゃろな.
アプリケーションプログラマからすると.