|
一応ここだけ。
■No49973 (たか さん) に返信 >>開始終了処理に時間がかからないのであれば、特にマルチスレッドにする「必要性」は感じない、という程度ですかね。 >>※特にマルチスレッドにしなくても、普通に作れそうに見える、くらいの言い方なら通じますかね? > 上の回答のどこかにも少し書きましたがMainClass,MainはWEBの巡回なので 長いときは完了までに1時間以上かかったりします^^ > 最短でも1分弱とかで・・・ > 処理が重たい、、、というより いろんなページを回るのでレスポンス待ちが長いという感じですが・・・
私が開始終了処理と言っているのは、MainClass.Mainを呼び出す側の、今でいうstartThreadMainのことで、そのうちMainClass.Mainの処理を待っている部分は含めない部分のことです。 MainClass.Mainは非同期で呼び出して、完了を待たず、完了処理を非同期処理の終了後のタイミングで(これも非同期に)ハンドリングすれば、特にマルチスレッドを使う必要はないように見えます、ってことです。
ブロックしないように非同期の組み合わせで動かすことで、UIスレッドはすぐに処理を返すようにすればいい、ということです。 今でいうstartThreadMainの実行期間のほとんどは、MainClass.Mainの完了を待ってるだけですよね? ここで待たないようにすればよい、ということです。
|