#include "iostream"
#include "thread"
using namespace std;
void process() {}
void download1() {
cout << "开始下载第一个视频...\n" << endl;
for (int i = 0; i < 100; ++i) {
std::this_thread::sleep_for(std::chrono::milliseconds(20));
//cout << "下载进度:" << i << endl;
}
cout << "第一个视频下载完成..." << endl;
}
void download2() {
cout << "开始下载第二个视频...\n" << endl;
for (int i = 0; i < 100; ++i) {
std::this_thread::sleep_for(std::chrono::milliseconds(10));
//cout << "下载进度:" << i << endl;
}
cout << "第二个视频下载完成..." << endl;
}
int main() {
cout << "主线程开始运行\n";
std::thread d2(download2);
std::thread d1(download1);
d2.join();
d1.join();
process();
}
输出结果:
主线程开始运行
开始下载第二个视频...
开始下载第一个视频...
第二个视频下载完成...
第一个视频下载完成...

这篇博客展示了如何使用C++的std::thread和chrono库实现两个视频下载任务的并发执行,通过`download1`和`download2`函数分别处理,主线程启动两个子线程并发下载,最终在`process`函数中完成。
1万+

被折叠的 条评论
为什么被折叠?



