Linux系统c++多线程后台运行
时间: 2024-04-06 07:12:31 浏览: 83
要在 Linux 系统下使用 C++ 实现多线程后台运行,可以使用 pthread 库。下面是一个例子:
```c++
#include <iostream>
#include <pthread.h>
#include <unistd.h>
void* thread_func(void* arg)
{
while (true) {
std::cout << "Hello from thread!" << std::endl;
sleep(1);
}
return nullptr;
}
int main()
{
pthread_t thread;
pthread_create(&thread, nullptr, thread_func, nullptr);
pthread_detach(thread);
while (true) {
std::cout << "Hello from main!" << std::endl;
sleep(1);
}
return 0;
}
```
在上面的例子中,我们创建了一个新线程并调用 `pthread_create()` 函数来启动它。`pthread_create()` 函数接受四个参数:第一个参数是指向线程标识符的指针,第二个参数是线程的属性(通常为 `nullptr`),第三个参数是指向线程函数的指针,最后一个参数是传递给线程函数的参数(在本例中为 `nullptr`)。
我们还使用了 `pthread_detach()` 函数将线程标识符标记为“分离状态”,这意味着当线程终止时,其资源将被自动释放。
最后,我们在主线程中创建了一个无限循环,这样程序就可以在后台运行并在控制台输出消息。
阅读全文