创建两个线程,第一个线程打印数字1到5,第二个线程打印数字6到10;并给出在终端上将源文件test3-4.c编译成test3-4的编译命令
时间: 2024-02-29 20:51:36 浏览: 63
Java实现多线程轮流打印1-100的数字操作
可以使用如下代码实现:
```c++
#include <iostream>
#include <thread>
using namespace std;
void print1to5() {
for (int i = 1; i <= 5; i++) {
cout << i << endl;
}
}
void print6to10() {
for (int i = 6; i <= 10; i++) {
cout << i << endl;
}
}
int main() {
thread t1(print1to5); // 创建第一个线程,打印1到5
thread t2(print6to10); // 创建第二个线程,打印6到10
t1.join(); // 等待第一个线程结束
t2.join(); // 等待第二个线程结束
return 0;
}
```
在程序中,我们使用`thread`类创建了两个线程,分别打印1到5和6到10。然后使用`join`函数等待两个线程结束后主线程才能结束。注意,在使用`thread`类时,需要包含头文件`<thread>`。
在终端上将源文件`test3-4.c`编译成`test3-4`的编译命令为:
```bash
g++ -std=c++11 test3-4.c -o test3-4 -lpthread
```
其中,`-std=c++11`表示使用C++11标准进行编译,`-o test3-4`表示指定编译输出文件名为`test3-4`,`-lpthread`表示链接`pthread`库。
阅读全文