多核心在單執行緒程式中,只能用到其中一個核心來運算,這是大家都有的共識吧?
今天突發奇想,來個實際驗証。
設備:
CPU:E6550
Ram:DDR-2 800 1G
首先,將能關閉的背景程式全都關掉,讓CPU的使用率歸零。
接下來,寫一個單執行緒程式,1+1連續加1億次,程式碼如下。
Dim i As Double
Dim douTemp As Double
For i = 0 To 100000000
douTemp = douTemp + 1
Next i
來看一下CPU使用率吧...
上圖可見,雖然第一個核心使用率不高,但還是有在運作喔...
再來,測試另一個程式,字串處理,例子是將"test"這段文字一直疊加至字串變數中
Dim i As Double
Dim strTemp As String
For i = 0 To 100000000
strTemp = strTemp & "test"
Next i
一樣,來看一下CPU使用率...
上圖可見,字串處理時,兩個核心都操滿兇的。
很有趣吧?明明是單執行緒程式,卻能同時使用兩個CPU核心耶...,會寫程式的朋友可以試試看喔。
內文搜尋

X