我正在使用多个线程读取 .csv 文件。每个线程读取 .csv 文件的一部分,例如。line:214
thread1 从到读取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
,我发现它根本没有改变。
我可以知道我错了吗?我该如何解决?