• ベストアンサー

jspで無限ループ

jspやサーブレット、或いはaspのプログラムの中で無限ループになった場合、例えば while(true){ ・ ・ ・ } のように。 そのプロセスはどうなるのでしょうか? ブラウザを閉じた瞬間に止まるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • nta
  • ベストアンサー率78% (1525/1942)
回答No.2

 サーブレットで対応するとなると自分でタイムアウトのスレッドを別に起動して、自殺するしかありません。 apache側でKeepAliveTimeoutを使っておいた方がいいのではないでしょうか。  ASPの方もスクリプトで対処しているのではなくて、IISの機能を利用しているだけです。

参考URL:
http://www.pisa.ccr.it/manual/mod/core.html#keepalivetimeout
sha-girl
質問者

お礼

再度のご回答有り難うございます。参考に致します。

その他の回答 (1)

  • nta
  • ベストアンサー率78% (1525/1942)
回答No.1

ブラウザを閉じたという情報は届きませんから、とまりません。無限ループが続きます。管理者やプログラマが無限ループに気がついて停止する必要があります。こうしたトラブルを防ぐため、一定時間プロセスがとまらなければタイムアウトするしくみもいくつかあります。 http://sanaki-web.hp.infoseek.co.jp/code/asp/prog.htm

sha-girl
質問者

お礼

ご回答ありがとうございます。 aspだと90秒以上のプロセスはkillされるのですね。 参考になりました。 もしtomcatの場合だとどうなるのかご存じでしたらご教授ください。