私はダーツの未来を学んでおり、Future
.
Dart はシングル スレッドであり、Future
ファイルの読み取りなど、高価な関数を後で実行するために使用できます。
ファイルの読み取りに 10 秒かかり、読み取るファイルが 3 つあるとします。
私のダーツコード:
main() {
readFile("aaa.txt");
readFile("bbb.txt");
readFile("ccc.txt");
print("Will print the content of the files later");
}
readFile(String filename) {
File file = new File(filename);
file.readAsString().then((content) {
print("File content:\n");
print(content);
});
}
ファイルの読み込みには 10 秒かかるので、上記のコードは少なくとも 30 秒かかりますよね? 現在のコードをブロックすることなく、コストのかかるタスクを後で 1 つずつ実行するためだけにファイルを読み取るための先物を使用しますが、総コストは削減されませんか?
Java でスレッド プールを作成し、3 つの将来のタスクを並行して実行できる場合、総コストは 10 ~ 20 秒になります。
Dartで同じことをすることは可能ですか? Dart の分離を使用することが唯一の解決策ですか?