c++ 如何写一个守护线程
时间: 2023-08-08 07:07:35 浏览: 465
在 C++ 中,可以使用 std::thread 来创建一个守护线程。创建守护线程需要注意以下几点:
1. 创建线程对象时,需要将线程的执行函数设置为守护线程函数。
2. 在执行函数中,需要使用一个死循环保证线程一直运行。
3. 在循环中,需要使用 std::this_thread::sleep_for() 函数添加适当的延迟以减少 CPU 占用率。
4. 在主线程中,需要将创建的线程对象设置为守护线程。
下面是一个简单的守护线程示例代码:
```c++
#include <iostream>
#include <thread>
#include <chrono>
void daemon_thread() {
while (true) {
// 守护线程的执行逻辑
std::this_thread::sleep_for(std::chrono::milliseconds(1000));
}
}
int main() {
std::thread t(daemon_thread);
// 设置线程为守护线程
t.detach();
// 主线程的执行逻辑
std::cout << "Main thread finished" << std::endl;
return 0;
}
```
在上面的代码中,创建了一个守护线程 t,并将其设置为守护线程。在守护线程函数 daemon_thread 中,使用一个死循环不断执行逻辑,并使用 std::this_thread::sleep_for() 函数添加了 1 秒的延迟。在主线程中,输出了一条日志,并退出程序。
阅读全文