- - PR -
スレッドについて
«前のページへ
1|2|3
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-11-21 12:24
質問者のしんさんに質問です。
今まで回答をされた方が疑問点として挙げられている内容をまとめてみました。 以下の点にご返答いただけると回答がしやすくなると思います。 (1) シングルスレッドである、というご説明は正しいですか? A.Joinのように書かれているので、AはThreadオブジェクトではないかと考えられます。 A〜Dがスレッドなのであれば、これはシングルスレッドではなくマルチスレッドです。 ※これは私の想像ですが、A〜Dは逐次に処理される必要があることを指して、 しんさんは「シングルスレッド」とおっしゃっているように思えます。 もしそうなら一般的にはそのような言い方はしませんので、混乱の元です。 (2) (1)の回答で、正しくはマルチスレッドだった場合ですが、 「各メソッドをタイムアウトで終了させよう」が理由である ということであってますか? (3) 30秒周期というのは、以下の意味であっていますか? 例) A 9秒 B 11秒 C 5秒 D 4秒 待ち時間 1秒 A 8秒 B 10秒 C 6秒 D 4秒 待ち時間 2秒 : (4) (2)が正しい場合、30秒で5つの処理があるわけですが、 どういうルールでタイムアウトさせるのでしょう? 例えば、A〜Dの所要時間の比率が2:4:2:2だとすると メソッドAは6秒、Bは12秒、Cは6秒、Dは6秒でタイムアウトさせるといったルールです。 (5) わからないのはどの部分でしょうか? 2回目の投稿から読み取る限りでは、A〜Dのスレッドをタイムアウトさせる 方法がわからないということであってますか? <修正> ・質問の本題からはずれる内容は削除しました ・質問文の文面を推敲しました </修正> [ メッセージ編集済み 編集者: よねKEN 編集日時 2008-11-21 12:41 ] [ メッセージ編集済み 編集者: よねKEN 編集日時 2008-11-21 13:52 ] |
|
投稿日時: 2008-11-21 19:19
こういうことか?
という仕様があって、次のように考えた。
急いでいるのでしょうが、質問の背景がわかると、根本的な問題の所在がわかることがあります。そういう事例が、過去に多々あります。 私は、回答することの方が多くなりましたが、質問したいこともあります。しかし、上記のように整理している最中に本質的な問題の所在に気づき、解決してしまうのです。上記のように考えての質問だとすると、問題は「同期を取ること」ではなく、別々に実行しなければならないと「考えたこと」です。 A〜E の「メソッド」と書かれていますが、そのメソッドの中に書く処理も、多くは「メソッド」ではないでしょうか。そのことに気づけば、A〜E は別々のスレッドで実行する必要はなく、1つのスレッドで順次処理すればいいことがわかるでしょう。そうすると、同期の必要はなく、停止させることと、停止したときにリソースの回収漏れがないように気をつければよい、ということになります。 |
«前のページへ
1|2|3