複数のスレッドを使用して .csv ファイルを読み込んでいます。各スレッドは、.csv ファイルの一部を読み取ります。thread1 は からline:214
まで読み取りますline:359
。
CSVReader reader1("C:\\file.csv", 214, 359);
読み取りプロセス中、データ フィールドはベクター インスタンスに格納されます。
data[i].push_back(data_field);
main 関数では、コードは次のようになります。
CSVReader reader1("C:\\file.csv", 214, 359);
CSVReader reader2("C:\\file.csv", 360, 517);
thread t1(&CSVReader::read_range, reader1);
thread t2(&CSVReader::read_range, reader2);
t1.join();
t2.join();
vector<vector<string>> temp_data = reader1.get_data(); // Here I have the problem
とreader1.get_data()
の間のデータを返すのが理想的です。しかし、調べてみると、まったく変わっていないことがわかりました。line:214
line:359
temp_data
私が間違っていることを知ってもいいですか?どうすれば修正できますか?