私は新しいスレッドを作成します。ここにはスレッドメソッドコードがあります:スレッドの無限ループ中にプロセッサの使用量を減らすにはどうすればよいですか?
while (true)
{
if (!showHelp)
{
Console.Clear();
Console.WriteLine("==============================================");
Console.WriteLine(player.PlayList.CurrentTrack().Artist + " "
+ player.PlayList.CurrentTrack().Title + " "
+ player.PlayList.CurrentTrack().Genre.ToString());
Console.WriteLine(" [ " + pos.Duration() + "/"
+ player.PlayList.CurrentTrack().Length + " ] ");
Console.WriteLine("===============================================");
}
Thread.Sleep(1000);
if (isPlaying)
pos += TimeSpan.FromSeconds(1);
if (pos > player.PlayList.CurrentTrack().Length)
{
pos = TimeSpan.Zero;
player.Next();
}
}
コンソールで現在のトラック位置を変更したいと思います。私は1秒間スリープし、1秒間追加します。
私はそれを無限ループで行い、プロセッサは50%の負荷の下にあるようです。
ループの繰り返しの間にプロセッサにかかる負荷を軽減するにはどうすればよいですか?
Thread.Sleepがある場合、50%を取るべきではありませんか?すべてのCPU時間を要する* this *スレッドだと確信していますか? – Kos
スレッドが1つしかありませんか? – Codecat
プロセッサをアンロードするとどういう意味ですか? (たぶんあなたの質問を編集し、それを言い換えることができます) – gideon