- - PR -
ThreadのSuspendおよびResume (C#)
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-05-20 02:08
ご返答ありがとうございます。
1.タイマーそのものの優先度を上げる方法 タイマーそのものの優先度を上げる方法が分からないので困っています。 (やはり方法が無いのでしょうか?) 優先度を上げてもタイムスライスが細かくならないので、効果が薄いかも 知れませんが…。 2.sleep待機時間を計算し、自動補正する。 これについては既に実験しています。確かに微弱なタイマーの遅延については よく補正してくれるので、安定します。しかし、CPU負荷が大きく変動する と、タイマーの安定性がむしろ損なわれてしまったので結局採用しませんでした。 3.ディスクアクセス 一応、別スレッド+非同期IOとバッファの調整でIO負荷の平準化を試みては います。 4.デバイスドライバー デバイスドライバーとして動作させることで、1秒間に60回感覚でも を安定して受け付けることができるのでしょうか? そのようなプログラミングは難しいのでしょうか? (Windowsではデバイスドライバーを作成したことがありません) | ||||
|
投稿日時: 2004-05-20 03:37
Sleepでもだめということだと、前に出ていたSleep+イベントみたいな解もだめですね。
デバイスドライバは、まあ一番リアルタイムでやりやすい方法ではあると思います。 割り込みソースは必要でしょうが。 あと、あまり重たいことや複雑なことは出来ないと思いますけれど。 | ||||
|
投稿日時: 2004-05-20 21:01
Sleep() や Suspend()/Resume() の方が性能が出てます? スレッドの実行優先度を高くしておいて、同期オブジェクトがシグナルになるのを待ち合わせるのが、ユーザコードでは最も反応が良いと思うんですが。。。 _________________ // 渋木宏明 (Hiroaki SHIBUKI) // http://hidori.jp/ // Microsoft MVP for Visual C# // // @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/ | ||||
