C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
(過去ログ 39 を表示中)
掲示板トップ
C# と VB.NET のサンプル
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
■20218
/ )
Re[1]: Thread.Sleepについて
□投稿者/ れい
(615回)-(2008/06/07(Sat) 16:21:06)
2008/06/07(Sat) 16:29:49 編集(投稿者)
■
No20216
(組込系の人 さん) に返信
> 以下のプログラムを実行すると、CPUが100%に近い状態になってしまいます。
> コメントアウトしてるThread.Sleep(1)を入れると負荷がなくなります。
> メインスレッドはループ処理の中でApplication.DoEvents()
> しとけばOKと思っていたのですが、何か勘違いをしているのでしょうか?
> どなたか教えていただけますでしょうか。よろしくお願いいたします。
Application.DoEventsは、キューに入ってるメッセージを処理する関数で、
休む関数ではありません。
Thread.Sleep(1)がない場合、
スレッドはどこで休むのですか?
CPUに空き時間が生じ、
まだ休んでいないスレッドがあるなら、
そのスレッドを実行しようとするのは当然ですよね。
追記。
おせっかいですが、
Application.DoEventsについては
http://forums.microsoft.com/msdn-ja/showpost.aspx?postid=2381944&siteid=7&sb=0&d=1&at=7&ft=11&tf=0&pageid=1
http://202.218.219.132/bbs/phpBB/viewtopic.php?topic=44349&forum=7&16
この辺でいろいろ書きました。参考になれば。
返信
編集キー/
編集
管理者用
-
Child Tree
-