- PR -

CPUの制御について

投稿者投稿内容
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-01-14 17:18
引用:

 CPUは、他の処理が動いていない約0%の状態で実行したので
 この帳票プログラムしか動いていない状態ですので、
 このプログラムだけで100%使用しています。


もちろん理解して仰っているのだとは思いますが、他の方も仰っているように、一つのプロセス、またはスレッドが CPU を独占し続ける事はありません。なので「他のプログラムが動きません」なんて状態にはなり得ません。

解決の方針が全く違う方向に向いています。
Peek とは、MessageQueue.Peek() でしょうか?

そのスレッドを一旦止めて、CPU に休憩させようが、何しようが、余計に遅れるだけです。休んでいるんですから。
先でも述べましたが、「大量のデータを扱う事」で遅くなるのはしょうがないのでは?

あれ?もしかして、帳票の結果は30〜60分程掛かるのは良いけれども、他のプログラムを快適に動かしたいという事ですか?

_________________
囚人のジレンマな日々
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2006-01-15 06:44
引用:

渋木宏明さん
 http://72.14.203.104/search?q=cache:vpHHTid7bfgJ:www.bcap.co.jp/hanafusa/dotnet/day01.htm+vb.net+cpu+100%25&hl=ja
 上記のページを参照したのですが…。内容はいかがでしょう?



GUI アプリの例ですね。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-01-15 09:12
それにしても、その帳票ツールを使うにあたり、
運用上適切なデータ件数を扱っているかを考えていないですね。
つまり設計バグですね。

全件出せないようにするなど、根本的な回避策を取った方が賢明でしょう。

また、今後は別の帳票ツールを使うことをお勧めします。
会社上の付き合いがあるのであれば、仕方がありませんが。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
未記入
大ベテラン
会議室デビュー日: 2005/03/12
投稿数: 148
投稿日時: 2006-01-15 10:33
CPUは0%と100%しかないよ。
つまり何かが動いているときと、何もすることがないときの処理が動いているときしかない。
どのプログラムもSleep実行中とかイベント待ち中を除けば瞬間的には100%だよ。
平均してたとえば50%と表示しているだけだよ。

完全にCPU独占はないけれど、そのスレッドのせいで他のアプリが非常に動きが悪くなることはあるね。そのプログラムが大量処理を想定していないのか単純につくりが悪いのか知らんが。

ところでWebで大量処理って大変ですね。
時間かかる上に他のWebリクエストに影響を与えるのですから。
Webで時間のかかる処理(および大量処理)してはいけないというのが妥当な設計なのかな?

スキルアップ/キャリアアップ(JOB@IT)