多线程c++代码
时间: 2023-07-25 08:09:49 浏览: 82
以下是一个简单的多线程 C++ 代码示例,可以在 Windows 平台上编译和运行。该程序使用了 C++11 的线程库。
```
#include <iostream>
#include <thread>
#include <chrono>
void task1() {
std::cout << "Task 1 started." << std::endl;
std::this_thread::sleep_for(std::chrono::seconds(1));
std::cout << "Task 1 finished." << std::endl;
}
void task2() {
std::cout << "Task 2 started." << std::endl;
std::this_thread::sleep_for(std::chrono::seconds(2));
std::cout << "Task 2 finished." << std::endl;
}
int main() {
std::thread t1(task1);
std::thread t2(task2);
std::cout << "Main thread started." << std::endl;
t1.join();
t2.join();
std::cout << "Main thread finished." << std::endl;
return 0;
}
```
该示例中,主线程创建了两个子线程 `t1` 和 `t2`,分别执行 `task1()` 和 `task2()` 函数。程序运行时,主线程会先输出 "Main thread started.",然后子线程依次输出 "Task 1 started."、"Task 2 started."、"Task 1 finished."、"Task 2 finished.",最后主线程输出 "Main thread finished."。
注意:在 Windows 平台上,需要使用 `-std=c++11 -pthread` 编译选项来编译该程序。在 Linux 平台上,只需要使用 `-std=c++11` 编译选项即可。
阅读全文