我在VB.net(2005)中,写了下面的东西,很奇怪,运行结果明显不对。 Sub Test() Dim msg As String Dim msg2 As String Dim elapse As Long = 0 Dim m_StopWatch As New Stopwatch Dim m_StartTime As Long = 0 m_StartTime = Stopwatch.GetTimestamp() m_StopWatch.Reset() m_StopWatch.Start() While (elapse < 200) m_StopWatch.Stop() elapse = m_StopWatch.ElapsedMilliseconds m_StopWatch.Start() End While m_StopWatch.Stop() msg2 = CStr((Stopwatch.GetTimestamp() - m_StartTime) * 1000 / Stopwatch.Frequency) msg = "m_StopWatch.ElapsedMilliseconds :" + CStr(m_StopWatch.ElapsedMilliseconds) msg += vbCrLf msg += ("Milliseconds by ticks: " + msg2) MsgBox(msg) End Sub 显示的结果,差不多是两倍的关系,有人遇到过不? 难道是因我的的机器是双核的?