誰もコアをロックしません。スレッドとコアを混同しています。
スレッドは、リモート呼び出し中に 1 分間ブロックされる可能性があります(おそらくブロックされません)。しかし、コアは 1 つのスレッドのみを実行することに縛られているわけではありません。そうしないと、最新の Windows (Windows 95 以降) がまったく機能しなくなります。Windows は、わずか 1 つのコアで数百のプロセスを同時に処理できる必要があります。
典型的なセッションでは、カーネルはプロセスのスレッドの一部またはすべてを1 秒間に数十または数百回中断し、各コアに別の処理を割り当てます。最終的に、あなたのスレッドは復活します - おそらく同じコアで、あるいは別のコアで。
特に、リモート呼び出しを行うスレッドは通常、「待機状態」に置かれます。これは、リモート呼び出しが完了するまで、カーネルがスレッドにコアをまったく割り当てないことを意味します。
(いくつかの概算が取られましたが、それはその要点です)
各コアが VB6 アプリケーションに 1 時間あたり 1 時間の「CPU 時間」を提供すると仮定できますか? コアが 2 つある場合、このセットアップは 1 時間あたり 120 分の「CPU 時間」を提供すると言えますか?
いいえ。プロセスが消費する CPU 時間を知る唯一の実用的な方法は、パフォーマンス カウンターを調べることです。経過時間あたりの CPU 時間は 1 時間未満になることはほぼ間違いありません。経過時間あたり 1 時間の CPU 時間に近づけるには、合計でほぼ 100% の CPU 使用率になる必要があります (VB6 プロセス自体の場合)。たとえば、2 コア システムではコアあたり 48% 程度で、すべて VB6 プロセスによって消費されます。
さらに、VB6 が使用するような STA スレッドの場合、コアを追加しても、プロセスの実行にかかる時間 (CPU ではなく経過時間) に関しては (STA の外部で重要な作業を行うマルチスレッド COM オブジェクトを除いて) まったく違いはありません。
CPU コアを追加しても、プロセスによる有益な CPU 時間の消費が増加することはほとんどありません。タスクを完了するために必要な通常の CPU 時間の量は、近くに追加のシリコンがあるからといって変わらないからです。
しかし、私たちは両方とも何かが欠けていると思います。あなたが見つけようとしているのは、正確には何ですか?あなたの本当の質問が何であるかはわかりませんが、「CPU時間」が答えではないに違いありません。