线程中读取到的数据存到主线程的数组里面
时间: 2024-03-27 18:35:36 浏览: 22
要将线程中读取到的数据存到主线程的数组里面,可以通过以下步骤实现:
1. 定义一个全局的数组,用来存储数据。
2. 在主线程中创建线程,并在线程函数中读取数据并存储到全局数组中。
3. 在主线程中等待线程结束,并使用全局数组中的数据进行后续处理。
具体实现可以参考以下示例代码:
```c++
#include <iostream>
#include <thread>
const int kArraySize = 10; // 定义数组大小
int g_data[kArraySize]; // 定义全局数组
void thread_func()
{
// 在线程函数中读取数据并存储到全局数组中
for (int i = 0; i < kArraySize; ++i)
{
g_data[i] = i;
}
}
int main()
{
std::thread t(thread_func); // 创建线程并执行线程函数
t.join(); // 等待线程结束
// 使用全局数组中的数据进行后续处理
for (int i = 0; i < kArraySize; ++i)
{
std::cout << g_data[i] << " ";
}
std::cout << std::endl;
return 0;
}
```
在上述代码中,我们定义了一个大小为10的全局数组`g_data`,并在主线程中创建了一个线程`t`,线程函数`thread_func`中将数据存储到全局数组中。主线程使用全局数组中的数据进行后续处理,并等待线程结束后再继续执行。