ビジーウェイトなしに正確な時間待つ関数を作るには?
昨日の続きです。負荷に応じて切り替える手法は、良さそうに見えて実は高負荷かどうか?という判定が意外に難しいことに気づきます。もっと単純かつ効果的なのはポーリングしているスレッドの優先度を1〜2段階上げることです。
既に知っている人は昨日の日記を読みながら、何だそれしきの事とニヤニヤしていたかな。うそ?それだけ?って思った人は実際にやってみて体感してください。キーワードはSetThreadPriority() です。
バックグラウンドで動かすなら、ポーリングの間隔は10ms以上が良いと思います。1msだと頻繁に起こるスイッチングの負担で他のアプリケーションが遅くなります。あくまでもこれは我が家のマシンでの体感です。他の環境だともっと間隔をあけなければならないかもしれません。
代替わりコンパに行きました。知らない顔がかなり増えていてびっくりですよ。せめて作業くらいは顔を出そうかな、と思いました。
< | 2005 | > | ||||
<< | < | 11 | > | >> | ||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
- | - | 1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | - | - | - |
合計:
本日:
管理者: Katsuhiro Suzuki(katsuhiro( a t )katsuster.net)
This is Simple Diary 1.0
Copyright(C) Katsuhiro Suzuki 2006-2023.
Powered by PHP 8.2.15.
using GD bundled (2.1.0 compatible)(png support.)