用C++语言写一个线程调度的示例代码
时间: 2023-12-04 20:04:22 浏览: 88
c++多线程代码实例
5星 · 资源好评率100%
下面是一个简单的C++示例代码,演示了线程调度的基本原理:
```cpp
#include <iostream>
#include <thread>
#include <chrono>
// 线程函数1
void threadFunction1() {
for (int i = 0; i < 5; ++i) {
std::cout << "Thread 1 executing" << std::endl;
std::this_thread::sleep_for(std::chrono::milliseconds(500)); // 模拟线程执行时间
}
}
// 线程函数2
void threadFunction2() {
for (int i = 0; i < 5; ++i) {
std::cout << "Thread 2 executing" << std::endl;
std::this_thread::sleep_for(std::chrono::milliseconds(500)); // 模拟线程执行时间
}
}
int main() {
// 创建线程对象
std::thread t1(threadFunction1);
std::thread t2(threadFunction2);
// 主线程等待子线程执行完毕
t1.join();
t2.join();
std::cout << "All threads completed" << std::endl;
return 0;
}
```
在上面的示例中,我们通过`std::thread`类创建了两个线程对象`t1`和`t2`,分别执行`threadFunction1`和`threadFunction2`函数。主线程通过调用`join()`函数等待两个子线程执行完毕。
在每个线程函数中,我们使用`std::cout`输出一些信息,并使用`std::this_thread::sleep_for()`函数模拟线程执行时间。
请注意,这只是一个简单的示例代码,实际的线程调度可能涉及更复杂的逻辑和同步机制。在实际开发中,需要根据具体需求和问题进行适当的线程管理和同步操作。以上代码仅提供了一个基本的框架,具体实现需要根据具体情况进行调整和完善。
阅读全文