while ループの CPU をどのように制限しますか?
この場合、while ループ内のコードは次のとおりです。
Private Sub wait(ByVal time)
Dim sw As New Stopwatch
sw.Start()
Do While sw.ElapsedMilliseconds < time And StillOpen = True
Application.DoEvents()
Loop
sw.Stop()
End Sub
しかし、今、ここで問題があります。このループにより、毎秒、1 秒に 1 回、while ループが実行され、wait
サブルーチンがこの遅延を引き起こしています。
これが占有しているCPUを制限するにはどうすればよいですか? 何らかの理由で、私のタスク マネージャーは、この単純なタスクを実行するのに 50 個の CPU を使用していると言っていますが、おそらく 1 つか 2 つしか必要としないはずです。 2 年前のラップトップであることを考えると、これは奇妙です。
どのユーザーもびっくりさせたくないのですが、最近の人々の様子を知っていると....
とにかく、言語は vb.net です。誰か助けてくれませんか?
ありがとう!
EDIT:明確にするために、そのコードはwhileループ自体の中にありませんが、サブルーチンの呼び出しは、つまりwait(1000)