沒有人鎖定核心,永遠。您正在將線程與Cores混淆。
線程可能(但可能不會)在遠程調用期間阻塞一分鐘。但是Core並不僅僅只能運行一個線程,要麼現代Windows(Windows 95和更新版本)根本無法工作。 Windows需要能夠同時處理數百個進程,只需要一個核心。
在典型的會話中,內核會暫停幾十次,或每秒數百次部分或全部進程的線程,併爲每個內核分配其他內容。最終,你的主題會迴歸生活 - 也許在同一個核心上,也許在另一個核心上。
特別是進行遠程調用的線程通常處於「等待狀態」,這意味着內核將不會將線程的核心全部分配給,直到遠程調用完成。 (採取了一些近似,但是這是它的要點)
我可以假設每個核心提供的「CPU時間」一小時每小時的VB6應用程序?所以,如果我有兩個核心,我是否也可以說這個設置每小時提供120分鐘的「cpu時間」?
不可以。找出進程消耗多少CPU時間的唯一實用方法是查看其性能計數器。它肯定會比每小時CPU時間少1小時。因爲它甚至接近每小時CPU時間一小時,你將不得不最終獲得近100%的CPU利用率(對於VB6進程本身)。例如,在雙核系統上,每個內核可能會有48%的消耗,這些消耗都是由VB6進程消耗的,或者其他一些情況。
此外,對於像VB6使用的STA線程,添加核心將不會影響進程所花費的時間量(經過的時間,而不是CPU)的時間(禁止多線程的COM對象在STA外執行重要工作)跑步。
添加CPU內核幾乎不會增加進程的CPU時間消耗,因爲完成任務所需的通常CPU時間不會因爲您附近有額外的硅而發生變化。
但我認爲我們都錯過了一些東西。你究竟想知道什麼?我不知道你真正的問題是什麼,但我敢打賭,「cpu時間」不是答案。