c++,全局变量的初始化,开线程
时间: 2024-12-24 19:17:07 浏览: 10
在C++中,全局变量的初始化是在它们被声明时完成的。如果提供了初始值,编译器会按照提供的值对全局变量进行初始化。如果没有显式指定初始值,其默认值取决于数据类型,例如整型通常为0,指针通常为nullptr。
关于开启线程,在C++中,你可以使用`std::thread`库来创建新线程。首先,你需要有一个函数(也称为线程函数),这个函数将在新的线程上运行。然后,你可以通过传递该函数到`std::thread`构造函数来启动线程。例如:
```cpp
#include <iostream>
#include <thread>
void threadFunction() {
std::cout << "Hello from a separate thread!" << std::endl;
}
int main() {
// 创建并启动新线程
std::thread workerThread(threadFunction);
// 主线程继续执行其他任务...
for (int i = 0; i < 5; ++i) {
std::cout << "Main thread is doing something else... (" << i << ")" << std::endl;
std::this_thread::sleep_for(std::chrono::seconds(1));
}
// 等待线程结束
workerThread.join();
return 0;
}
```
在这个例子中,`workerThread.join()`确保主线程在所有子线程完成之前不会退出。
阅读全文