VB.NET質問スレ (Part8) ..
621:デフォルトの名無しさん
05/01/14 14:35:12
Sub threadMain()
Do
thread1.Sleep(100) <−なんか寝てたり
If Now.Second = 0 Then <− 意味わかんなかったり
Timer1.Interval = 100
Timer1.Start()
picBar.Height = 500
End If
Loop
この説明が気になります。これは1分に一回Timer1を起動するものですね。
>thread1.Sleep(100) <−なんか寝てたり
この行はあった方がいいのでしょうか? それとも何かまずいのですか。
意図としては、
Now.Second = 0 のチエックは、常時チェックすると
CPUのロスになるのでSleepしています。ただし1秒以上スリープすると
最悪0をチエックできないタイミングが発生します。
本当は thread1.Sleep(990)でも十分だと思いますが、判定中に長い処理が
割り込んだ場合、10msecを超える場合があるかもしれません。それで100msec
にしています。
しかしこれでも、900msec以上も時間がかかる割り込みが入ると問題があります。
I/O制御ですので一回でも0の判定をミスするとまずいのですが、大丈夫でしょうか?
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4948日前に更新/258 KB
担当:undef