私の実装クラスの1つには、完了までにかなりの時間がかかるメソッドがあり、それが私のビューをフリーズさせます。したがって、これらのメソッドはスレッド化されていなければなりません!MVCアーキテクチャでスレッドを使用するには?
これらのすべてのメソッドは、HashMaps
またはLists
でデータを返します。
私のコントローラは、そのデータを呼び出して、そのデータをビューに渡しています。
私が理解できないことは、スレッドを作成する場所です。 それはコントローラレイヤーか実装クラスにあるべきですか(そして、私はそこに多くのメソッドを持っているのでどのようにそうですか)。
また、スレッドの作業が終了したときにのみ、表示を更新する必要があります。 これらのメソッドは再度呼び出されます。
私が出くわしたすべてのスレッド技法で本当に迷っています。
コントローラー:
SomeParser someParser = new FirstParserImpl();
HashMap<String,String> map = someParser.parseSomething();
loadTableView(map);
FirstParserImpl:
public HashMap<String,String> parseSomething() {
//opening http connection, scrape and parse data. This takes long time!
return map;
}
私たちがコードを持っていないと助けを知るのは難しいです。 –
@MichaelPickett申し訳ありませんが、私は私の質問が十分記述的だと思った。私のコードを投稿する時間を与えてください。おかげで – pror21
私はあなたの目のためにこれらのメソッドを呼び出す方法について簡単にしようとしました。 – pror21