業界の練習方法の中で、マルチスレッドのアプローチを使用してファイルを読み込むことが最善であることを知りたいと思います。 Javaでは、私は、次の種類の何かをするだろう:java vs scala - 別のスレッドでファイルを読み込む
class Reader { Result readFile(File file, Listener callback) }
class Listener { void process(Result r) }
Readerが結果を生成し、その後の作業スレッドをwithingからListener
をコールバックするために、別のスレッドを生成します。これは良いアプローチですか?これをScalaにどのように変換すればよいでしょうか?これを達成するための他の優れた仕組みがおそらくありますか?
1つまたは複数のファイルを読み込もうとしているかどうかはわかりません(少なくとも私には)。ファイルがたくさんある場合は、Kim Stebelの答えが良いです。それが別のスレッドで処理された結果を必要とする1つのファイルであれば、もう1つの答えが良いと思われます。 –
「より良い」とはどういう意味ですか?短いコード?おそらくそうだ。もっとパフォーマンスが良い?たぶんそうではありませんが、Scalaはたくさんのコードをバックグラウンドで生成しています。 –
ファイル内のすべての行が同時に処理されるようにするには、並列コレクションでも行えます。 –