No.4
- 回答日時:
>マルチCPU環境ではどういった状態になるのでしょうか?
マルチCPUのマシンでは、シングルスレッドのプログラムは、
一つのCPUしか使わないので、CPU全体の50%を
占有した状態になります。
>無限ループは起こらないのでしょうか?
無限ループ自体は、環境でなく、プログラムを作る人の
善し悪しが招く問題です。
如何なる環境であろうと無限ループは起こりえます。
起こった場合の被害の大小が環境によって違う。
起こった場合に被害を最小限に納める仕組みがある。
などの違いはあると思いますが..
>無限ループのもどかしさから開放されるならPCを新調しようと思うのですが、
PCを変えても、無限ループ自体は、制作物の品質が悪ければ起こるわけで、
結局は、デバックする必要があるのだから、環境のせいにするより
自分の力を磨く方が良いかと思いますよ。
No.3
- 回答日時:
どもです。
通常は無限ループにならないようにするのが基本です。
無限ループでポーリングしなければならないなどの状況も考えられるのですが、このような場合にはループの中にsleepを入れてあげればCPUの使用率を抑えることが出来ます。Winならループ内にSleep(1);を入れてあげるだけで、ハングしたような状況は防げます。
No.2ベストアンサー
- 回答日時:
前にも書かれていますか?
その時は、Apacheだったとか。
私も興味をもち、Apacheのtimeoutの設定をして、無限ループをしたのですが、見事にフリーズ。(w
回答するのが面倒になり、回答しなかったのを覚えています。
w2k環境でUsers権限でapacheをPower権限で動かしていたので、プロセスを殺す事もできませんでした。;;
フリーズですが、片方がフリーズしてももう片方が動くので、どうやらシステムが止まる事はないようです。
でも、無限ループの場合はCPUが100%になるので、あんまり良くはないとは思いますが。
実際に使った事はないので、わかりません。
無限ループですが、無限ループをさせない工夫の方が大切だと思いますよ。
私は、変数がなくなるまでループするような時でも、上限を決めています。
1000回実行したら、breakするとか。
Perl、PHPなら、$i++ とif文だけで片づきますし。
一応、入力時の変数のチェックもしていますが、文字コードや相手の環境、システムのバグなんかもありますし。
最悪サーバでの無限ループは避けたいと思っているのでの、ダブルチェック、トリプルチェックはしているつもりです。
ローカル環境でも強制終了は、HDDにも危険ですからねー。
No.1
- 回答日時:
無限ループというよりは、タスク(プロセス)がCPUをつかんで離すかどうかの問題ですよね。
CPUが何れであれ、免れないですね。
どちらかというと、NT系などのプリエンプティブなマルチタスクOSだと免れやすいかもしれませんが、保存をしないまま実行すると危険なことは変わりありません。
CPU新調よりはOSの変更のほうが効果がありますよ。
この回答へのお礼
お礼日時:2006/01/02 21:49
とりあえずWindowsXPを使っているのですが、無限LOOPになると
タスクマネージャーを開くにも相当時間がかかります。
これはもうガマンするしかないのでしょうかね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
strtokを使用したループ内でのs...
-
入力した数値を倍々するプログラム
-
万年カレンダーのプログラム(C...
-
do-while文が禁止される理由
-
break文でループを一気に抜ける...
-
Matlabを使った心理学実験
-
プログラムの『軽い』と『重い...
-
C++ DirectX カーソルの移動処...
-
Cプログラムが終了しない
-
UWSCにてある一定の動作を無限...
-
ループを途中で抜けたいのですが。
-
ループの特定入力終了
-
プログラムのmatlabを使ってい...
-
if文の中にfor文なのか、for文...
-
入力した文字列から母音だけを...
-
if文を使わずに奇数・偶数を判断
-
桁数を求めるプログラム。
-
C言語、whileループを抜け出す...
-
へんな現象
-
Enterキーを押されたら次の処理...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
break文でループを一気に抜ける...
-
do-while文が禁止される理由
-
ループを途中で抜けたいのですが。
-
入力した数値を倍々するプログラム
-
入力した文字列から母音だけを...
-
if文の中にfor文なのか、for文...
-
C言語forループが完結した場合...
-
エクセルでC言語のfor文と同じ...
-
Excel VBAで年度をまたぐ期間の...
-
For文の終了値を関数にしても問...
-
エクセルVBAで Do While (1)って?
-
C言語、whileループを抜け出す...
-
Cプログラムが終了しない
-
PAD図の書き方
-
PIC のプログラムについて ど...
-
他言語で言うcontinue文
-
ループの特定入力終了
-
C言語のプログラムみてください...
-
COBOLのEVALUATE文
-
for文while文の無限ループの違...
おすすめ情報